3

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

$text = "esenihc gnikcuf yloh";
echo $text[0];
echo $text[1];
echo $text[2];
...................
...................
...................



但是如果你把字符串放在 print_r() 中,就会发生不一样的情况,就像在数组中一样,你不能用字符串做 count()。

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

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

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


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

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

4

5 回答 5

4

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

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

如果你愿意,你可以通过str_split.

于 2012-09-19T08:29:38.160 回答
1

如果将字符串视为数组,则字符串是数组,例如:echo $text[0],但会print_r 打印有关变量的人类可读信息,因此它将输出该变量。

这叫做类型杂耍

$a    = 'car'; // $a is a string
$a[0] = 'b';   // $a is still a string
echo $a;       // bar

要计算字符串的长度strlen($string),您可以使用for()

于 2012-09-19T08:25:44.617 回答
1

没有字符串不是数组

字符串是一系列字符,其中一个字符与一个字节相同,而 PHP 中的数组实际上是一个有序映射。映射是将值与键相关联的类型。

于 2012-09-19T08:27:10.627 回答
0

简单地说,PHP 中的每个变量都是一个数组。

于 2012-09-19T12:04:33.457 回答
0

也许为时已晚,但是:

<?php
    $text = "esenihc gnikcuf yloh";
    $arrText = explode(" ", $text);

    foreach($arrText as $word) {
        echo $word . "<br>";
    }
?>
于 2019-01-12T01:04:52.867 回答