我知道php中的字符串是.....字符串但是例如我可以做
$str = 'String';
echo $str[0];
echo $str[1];
//result
S
t
echo count($str)
//result
1
为什么我可以像在数组中一样走过它们,但不能算数呢? (我知道我可以使用strlen())
答案 0 :(得分:21)
因为它是如何运作的。您可以使用括号表示法访问特定的字节偏移量。但这并不意味着字符串是一个数组,你可以使用期望数组的函数。 $string[int]
是substr($string, int, 1)
的语法糖,仅此而已。
答案 1 :(得分:7)
因为字符串不是数组。它们允许您使用相同的语法找到字母 字节偏移(不一定是多字节字符串中的字母),但这就是它。
数组也可以有键,可以进行排序。如果字符串是完整数组,则可以为每个字母指定一个键,或者使用其中一个数组函数按字母顺序对字母进行排序。
长话短说:字符串不是数组,即使它们的语法中很小一部分相似。