我知道php中的字符串是.....字符串但是例如我可以做
$str = 'String';
echo $str[0];
echo $str[1];
//result
S
t
echo count($str)
//result
1
Run Code Online (Sandbox Code Playgroud)
为什么我可以像在数组中那样走过它们但是不能算数呢?(我知道我可以使用strlen())
dec*_*eze 22
因为这是它的工作原理.您可以使用括号表示法访问特定的字节偏移量.但这并不意味着字符串是一个数组,并且您可以使用期望数组的函数.$string[int]是语法糖substr($string, int, 1),仅此而已.
因为字符串不是数组.为方便起见,它们允许您使用相同的语法查找字母,但这就是它.
数组也可以有键,可以进行排序.如果字符串是完整数组,则可以为每个字母指定一个键,或者使用其中一个数组函数按字母顺序对字母进行排序.
长话短说:字符串不是数组,即使它们的语法的一小部分是相似的.