阿神2017-05-16 13:03:01
在php內部,字串是位元組組成的數組,用花括號加上數字下標可以存取或修改字串中對應的單字。注意是單一字元!
在你的程式碼中的$str{1}只能容納一個字符,而你的賦值是5個字符,此時php會預設只取第一個字符,那麼它的結果自然就是lnmp。
另外php官方文件中也說了用花括號存取或修改字串對多位元組字元集很不安全,當你使用utf-8或gbk等其它編碼集的時候盡量不要用{}。
曾经蜡笔没有小新2017-05-16 13:03:01
String 字串
一個字串 string 就是由一系列的字元組成,其中每個字元等同於一個位元組。這意味著 PHP 只能支援 256 的字元集,因此不支援 Unicode 。詳見字串類型詳解。
引用自PHP手冊。粗體說明了。每個字元是一個位元組。所以,只能替換一個位元組的位置了。