字符串作为PHP中的数组

时间:2013-06-19 14:14:23

标签: php arrays string

我知道php中的字符串是.....字符串但是例如我可以做

$str = 'String';
echo $str[0];
echo $str[1];

//result
S
t

echo count($str)
//result
1

为什么我可以像在数组中一样走过它们,但不能算数呢? (我知道我可以使用strlen())

2 个答案:

答案 0 :(得分:21)

因为它是如何运作的。您可以使用括号表示法访问特定的字节偏移量。但这并不意味着字符串是一个数组,你可以使用期望数组的函数。 $string[int]substr($string, int, 1)的语法糖,仅此而已。

答案 1 :(得分:7)

因为字符串不是数组。它们允许您使用相同的语法找到字母 字节偏移(不一定是多字节字符串中的字母),但这就是它。

数组也可以有键,可以进行排序。如果字符串是完整数组,则可以为每个字母指定一个键,或者使用其中一个数组函数按字母顺序对字母进行排序。

长话短说:字符串不是数组,即使它们的语法中很小一部分相似。