【问题标题】:Multidimensional array, key 0多维数组,key 0
【发布时间】:2014-03-12 18:13:38
【问题描述】:

我有一个类似的数组:

 $a = array(array('Hello','abc'), 'd');
 var_dump($a);

    array (size=2)
  0 => 
    array (size=2)
      'title' => string 'Hello' (length=40)
      'class' => string 'abc' (length=3)
  1 => string 'd' (length=6)

var_dump($a[0]);
 array (size=2)
          'title' => string 'Hello' (length=40)
          'class' => string 'abc' (length=3)

为什么 $a[0] 不为空?谁能指出这一点?

//编辑

我已经用这段代码测试了那个键 0:

If(empty($a[0]))
{
    // Do A
}
else
{
    // Do B
}

为什么会返回 Do B?

【问题讨论】:

  • 因为索引0的值是一个数组

标签: php arrays key


【解决方案1】:

这个数组$a = array(array('Hello','abc'), 'd');等价于:

 $a = array(0 => array(0 => 'Hello', 1 => 'abc'), 1 => 'd');

PHP 将替换这些键。

【讨论】:

  • 这是否意味着没有办法检查 key 0 的值是否为空?
【解决方案2】:

因为它指的是非空数组,在您的情况下是 array('Hello','abc') 并且根据 empty 函数描述的 PHP 手册: “确定一个变量是否被认为是空的。如果一个变量不存在或者它的值等于 FALSE,那么它被认为是空的。如果变量不存在,empty() 不会生成警告。”它将返回false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-22
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 2018-11-09
    • 2018-06-30
    相关资源
    最近更新 更多