入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

preg_split 函数的一个疑问?

创建时间:2017-01-23 投稿人: 浏览次数:196
<?php
// preg_split
$str = "i中国节";
/**
 * PREG_SPLIT_NO_EMPTY 返回非空部分
 * PREG_SPLIT_OFFSET_CAPTURE 显示每一部分的偏移量
 * 
 * 模式修正符 u 的作用是将字符串看作是 utf-8 的, 既然如此, 那么偏移量应该是下面的:
 * i  0, 中 1, 国 2, 节 3
 * 但是 preg_split 返回‘国’的偏移量确是 4, ‘节’的是 7, ??????
 */
$arr = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE);
echo "<pre>";
print_r($arr);

/*
result:
Array
(
    [0] => Array
        (
            [0] => i
            [1] => 0
        )
    [1] => Array
        (
            [0] => 中
            [1] => 1
        )
    [2] => Array
        (
            [0] => 国
            [1] => 4
        )
    [3] => Array
	(
	    [0] => 节
	    [1] => 7
	)
)
 */

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。