17
A
回答
27
它們是相同的。但是,他們正在擺脫{}
語法,因此您應該使用[]
。
性狀可以通過指定被訪問和修改的零基礎使用正方形陣列括號,如在
$str[42]
後的字符串所需的字符的偏移。爲了這個目的,可以將字符串看作一組字符。當您想要提取或替換多於一個字符時,可以使用功能substr()
和substr_replace()
。注意:從PHP 7.1.0起,還支持負的字符串偏移量。這些指定了字符串末尾的偏移量。以前,用於讀取的負偏移發出
E_NOTICE
(產生空字符串)和E_WARNING
(寫字符串不變)。注意:字符串也可以使用大括號來訪問,如
$str{42}
,出於同樣的目的。
+3
大括號`{}`是Perl哈希的遺留物,並且正在被放棄。 – Kekoa 2009-05-19 22:06:41
10
要小心,$str[n]
和$str{n}
給出String
n個字節,而不是String
第n個字符。對於多字節編碼(UTF-8等),一個字符不需要是一個字節。
$str{0}
- 串
mb_substr($str, 0, 1)
的第一字節 - 串的第一個字符(包括多字節字符集)
相關問題
- 1. 索引字符串?
- 2. 字符串索引
- 3. 索引字符串
- 4. PHP數組字符串鍵索引
- 5. Php:字符串索引不一致?
- 6. PHP字符串索引'錯誤'
- 7. PHP數組:整數索引VS字符串索引
- 8. 使用字符串索引
- 9. 子索引成字符串
- 10. 字符串索引OutOfBoundsException?
- 11. 字符串索引驗證
- 12. postgresql索引字符串列
- 13. C++索引TCHAR字符串
- 14. 索引,字符串,列表
- 15. 字符串索引的MySQL
- 16. 字符串索引越界
- 17. 獲取字符串索引
- 18. 索引Mysql字符串
- 19. 找到字符串索引
- 20. 如何在PHP字符串中使用索引查找字符?
- 21. 作爲字符的索引字符串
- 22. hw搜索索引字符串列表中的子字符串?
- 23. NSString的行索引和列索引的字符串索引
- 24. Hibernate搜索:索引XML字符串?
- 25. Matlab的字符串搜索和索引
- 26. 索引字符串以方便搜索
- 27. 如何打印出字符串索引字符串中字符串的字符
- 28. PHP將字符串轉換爲php後的索引
- 29. php isset()使用字符串作爲索引的字符串變量
- 30. PHP搜索字符串(帶通配符)
我發現它的[字符串文檔】在(http://php.net /manual/en/language.types.string.php#language.types.string.substr):「注意:爲了相同的目的,也可以使用大括號來訪問字符串,如`$ str {42}`中所示。」 (但正如答案中所述,'[]`語法是更好的選擇) – 2017-04-12 07:27:34
在這個問題上也討論了這個話題:[獲取字符串的第一個字符與$ str \ [0 \]](http:/ /stackoverflow.com/questions/1972100/getting-the-first-character-of-a-string-with-str0)。 – 2017-04-12 07:35:42