1

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

4

3 回答 3

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);
}

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

于 2012-07-31T09:21:00.317 回答
0

“不可数”是指“不是数组/对象”?

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

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

于 2012-07-31T09:11:48.863 回答
0

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

is_array($array)
于 2012-07-31T09:12:06.063 回答