2012-01-13 149 views
6

如何测试一个数组是否包含至少一个元素(而不仅仅是一个空数组$myarray = array();)?如何测试数组是否至少包含一个元素

有没有一种方法?

例如

if ($myarray) { } 

if (count($myarray)) { } 

if (count($myarray) > 0) { } 

或者是否有错误的方法?

回答

15

至少1元这将是:

if (!empty($myarray)) {} 
+0

如果数组至少包含1个项目,则返回true。 – 2012-01-13 23:50:40

+0

谢谢!它非常简单但有用。 – technophyle 2015-08-13 19:42:29

5

也许检查 -emptiness via empty()

以下的事情被认为是空的:

  • “”(空字符串)
  • 0(0作为整数)
  • 0.0(0为float)
  • “0”(0作为字符串)
  • NULL
  • FALSE
  • array()(空阵列)
  • var $ var; (变量声明,但没有一类的值)
if (!empty($myarray)) { 
    // 
} 

但我不知道,如果有一个规范的方式做到这一点; php可能会遵循TMTOWTDI

+0

相反:'!empty($ myArray)' – 2012-01-13 23:47:09

+0

我会说'!empty($ array)' – 2012-01-13 23:47:33

+0

@miku呃,这可能是一个问题' TIMTOWTDIBSCINABTE' so'empty()':) – PeeHaa 2012-01-14 00:05:17

2

我相信if(!empty($myarray))工作过。这将意味着你不会跑w/e如果你得到array([0] => '')

+0

这是什么意思?如果你得到数组([0] =>'')''这意味着你不会运行w/e? – PeeHaa 2012-01-13 23:53:34

相关问题