gpt4 book ai didi

php - array 上的 strlen 在 php 中返回 5

转载 作者:可可西里 更新时间:2023-10-31 23:55:55 26 4
gpt4 key购买 nike

来自文档-

int strlen ( string $string )

它以字符串作为参数,现在当我这样做时-

$a = array('tex','ben');
echo strlen($a);

输出 -5

然而我期待的是,两种类型的输出-

  1. 如果它是一个数组,php 可能会把它转换成字符串,这样数组就会变成-

    'texben' 所以它可能输出 - 6

  2. 如果第一个不是它会像这样转换它 -

    "array('tex','ben')" 所以预期的输出应该是 - 18(所有项目的计数)

但是每次它输出- 5

我对输出的考虑是 array 字数的 5 但我不确定。如果是这种情况,PHP 是如何做到这一点的?(意味着数 5)

最佳答案

该函数将输入转换为字符串,因此数组变为 Array,这就是计数为 5 的原因。

这和做是一样的:

$a = array('tex','ben');

echo (string)$a; // Array
var_dump((string)$a); // string(5) "Array"

这是 PHP 5.3 之前的行为。但是在 PHP 5.3 及更高版本中,strlen() 将为数组返回 NULL

来自Manual :

strlen() returns NULL when executed on arrays, and an E_WARNING level error is emitted.

Prior [to 5.3.0] versions treated arrays as the string Array, thus returning a string length of 5 and emitting an E_NOTICE level error.

关于php - array 上的 strlen 在 php 中返回 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17403086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com