php的mbstring擴展模塊提供了多字節字符的處理能力,日常最經常使用的就是用mbstring來切分多字節的中文字符,這樣能夠避免出現半個字符的狀況,因爲是php的擴展,它的性能也要比一些自定義的多字節切分函數要好上一些。php
mbstring extension提供了幾個功能相似的函數,mb_substr和mb_strcut,看看手冊上對它們的解釋。
函數
舉個例子來講,有一段文字, 分別用mb_substr和mb_strcut來作切分:性能
plain text
code:
<?php
$str = '我是一串比較長的中文||www.163.com';
echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8');
echo "<br>";
echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');
?>
輸出結果以下:spa
mb_substr:我是一串比較
mb_strcut:我是
/**code
**&引用說明內存
/utf-8
1.變量的引用string
<?it
$a="ABC";io
$b =&$a;
echo $a;//這裏輸出:ABC
echo $b;//這裏輸出:ABC
$b="EFG";
echo $a;//這裏$a的值變爲EFG 因此輸出EFG
echo $b;//這裏輸出EFG
?>
2.函數的引用傳遞(傳址調用 )<?php
function test(&$a)
{
$a=$a+100;
}
$b=1;
echo $b;//輸出1
test($b); //這裏$b傳遞給函數的實際上是$b的變量內容所處的內存地址,經過在函數裏改變$a的值 就能夠改變$b的值了
echo "<br>";
echo $b;//輸出101
?>
要注意的是,在這裏test(1);的話就會出錯,緣由本身去想。
注意:
上面的「 test($b); 」 中的$b前面不要加 & 符號,可是在函數「call_user_func_array」中,若要引用傳參,就得須要 & 符號,以下代碼所示: