为什么计算空字符串会返回1?

时间:2016-04-05 15:15:11

标签: php

我意识到strlen是正确使用的功能,我只是好奇为什么会这样。

如果PHP中的echo count("");如何,它会返回值1?

See example

我预计它会返回0,而不是1

3 个答案:

答案 0 :(得分:8)

count计算有多少元素。这里有一个字符串,所以有一个元素。

read the doc

  

返回array_or_countable中的元素数。如果参数不是数组或不是具有已实现Countable接口的对象,则将返回1。有一个例外,如果array_or_countable为NULL,则返回0。

答案 1 :(得分:6)

正如documentation所说

  

如果参数不是数组,或者不是已实现的对象   可计数的界面,1将被返回。

答案 2 :(得分:3)

可能因此:

var_dump((array)"");

...打印这个:

array(1) {
  [0]=>
  string(0) ""
}

有关详细信息,请参阅Type Jugglingofficial answer1只是记录的返回值:

  

如果参数不是数组,或者不是已实现的对象   可计数的界面,将返回1。如果有一个例外   array_or_countable为NULL,将返回0。