我只需要检查数组是否具有多个元素。我正在尝试这样做:
if (isset($arr['1']))
另一种传统方式是
if (sizeof($arr)>1)
两者哪一个更好?在这种情况下,如何判断两种替代方法?是否有任何性能检查表可用来衡量哪个更好?
我只需要检查数组是否具有多个元素。我正在尝试这样做:
if (isset($arr['1']))
另一种传统方式是
if (sizeof($arr)>1)
两者哪一个更好?在这种情况下,如何判断两种替代方法?是否有任何性能检查表可用来衡量哪个更好?
Answers:
用这个
if (sizeof($arr) > 1) {
....
}
要么
if (count($arr) > 1) {
....
}
sizeof()
是的别名count()
,它们的作用相同。
编辑:
回答问题的第二部分:问题中的两行代码不是替代方法,它们执行不同的功能。第一个检查at的值$arr['1']
是否设置,而第二个返回数组中元素的数量。
if (sizeof($arr))
,其翻译为if (sizeof($arr) == 1)
-显然,它不检查数组是否包含多个元素。这个答案是正确的,我认为没有理由不赞成,因此我赞成。
if(is_array($arr) && count($arr) > 1)
为了确保$ arr确实是一个数组。
sizeof
是的别名count
,我更喜欢使用count,因为:
$arr
是字符串,它将返回1
。
if (count($arr) >= 2)
{
// array has at least 2 elements
}
sizeof()
是的别名count()
。两者都适用于非数组,但是如果参数是数组或Countable
对象,它们只会返回大于1的值,因此您非常安全。
我更喜欢count()
函数而不是sizeOf()
as,sizeOf()
它只是的别名,count()
在许多其他语言中并不相同。许多程序员期望sizeof()
返回分配的内存量。
sizeof
vs 的热门话题count