php:如何找到计数结果1表示一个元素或不可计数


php: How to find a count result of 1 means one element or uncountable?

如果一个数组只有一个元素,则计数结果为1。如果数组是不可数的,则结果也是1。那么,如何知道它是一个元素还是不可数的呢?编辑php-menue:如果var不是一个数组或实现了Countable接口的对象,则返回1。

来自PHP手册:http://www.php.net/manual/en/function.count.php

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

你可以试试这个,

if (!method_exists($someVar, 'count') && !(is_array($someVar))) {
    echo 'cannot count';
}
else {
    echo count($someVar);
}

这应该适用于数组、对象和简单变量。

您可以使用is_array函数来检查变量是数组还是其他变量。

is_array($array)

"不可计数"的意思是"不是数组/对象"?

如果使用phps is_array()和is_object()进行测试,请参阅:http://php.net/manual/en/function.is-array.php

如果您引用了不实现可计数模式的特制数组或对象,那么这通常是有原因的。很可能,计算该结构中的元素是没有意义的。在这种情况下,首先使用method_exists($your_obj,'count')检查数组是否可计数。