【问题标题】:Unset the key in multidimensional array is not working取消设置多维数组中的键不起作用
【发布时间】:2016-06-19 10:14:26
【问题描述】:

我试图在我的多维数组中取消设置等于“null”的键,但我使用的代码不起作用,所以我尝试在线运行它。但即使在网上它也不起作用,所以我认为我的代码有问题。

我的代码链接是https://eval.in/591584

这是我的数组:

$array = array(
'6' => array(
    'null' =>array(
        'null'=>array(
               '11:04'=>array(
                    'id' => '22'
                )
        )
    ),
    '1'=>array(
        '2'=>array(
               '11:04'=>array(
                    'id' => '22'
                )
           )
      ),
  )
);

我想要的是删除名称为null 的密钥。

我想要的输出低于未设置空键的位置:

$array = array(
'6' => array(
    '1'=>array(
        '2'=>array(
               '11:04'=>array(
                    'id' => '22'
                )
           )
      ),
  )
);

到目前为止我所做的代码是:

 foreach($array as $devp => $dev){
    foreach($dev as $comp => $com){

      if($comp == null){
         unset($array[$devp][$comp]);
      }
    }
  }

但它不起作用。我将这个条件 ($comp == null) 声明为比较 If $comp 等于 null。它应该取消设置数组。我错过了什么请帮帮我。

【问题讨论】:

  • 在您的代码中,'null' 是一个字符串,而不是 null 类型。
  • if($comp == 'null'){。使用它
  • 应该喜欢eval.in/591587

标签: php arrays multidimensional-array


【解决方案1】:

在 PHP 中,null 是一种特殊的数据类型。而您的值为'null' 的键是一个字符串。

所以正确的比较是:

if ($comp == 'null') {    // see quotes?
    // do something
}

【讨论】:

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