php中的字符串是数组吗

use*_*256 4 php

您可以像在数组中一样在字符串中进行数字索引。
前任。

$text = "esenihc gnikcuf yloh";
echo $text[0];
echo $text[1];
echo $text[2];
...................
...................
...................
Run Code Online (Sandbox Code Playgroud)



但是,如果将字符串放入 print_r() 中,则不会像数组中那样发生相同的情况,并且不能对字符串执行 count() 。

我阅读了文档,它说。count() 如果参数中不是数组则返回 1

print_r() 如果参数中有字符串,它只打印该字符串。

这不是确切的词,而是类似这样的词。


为什么这两个函数不将字符串视为数组?

所以最后一个问题是字符串是数组吗?

cle*_*ort 5

与 C 等语言不同,PHP 有内置string数据类型。该string数据类型允许您以类似数组的方式访问字符串中的单个字符,但始终是string. 因此,如果您将其传递给接受数据类型的函数,mixed该函数将确定传递参数的数据类型并以这种方式对待它。这种方式print_r()将以编程输出字符串的方式打印它,而不是像数组一样。

如果您想要一个与数组具有相同功能的函数,count请查看strlen.

如果您愿意,可以通过将字符串“转换”为数组str_split