如何在php中通过null键取消数组

时间:2015-04-05 19:47:26

标签: php arrays if-statement key unset

在:

$my_array = Array ( [TRUE] => 1 [FALSE] => 2 [] => 0 ) 

如果key []为空,我想删除数组。

我的理念:

if ($my_array.key is null) {
    unset($my_array.key)
}

希望数组成为:

$my_array = Array ( [TRUE] => 1 [FALSE] => 2) 

1 个答案:

答案 0 :(得分:0)

你不需要像array_filter()那样取消它:

<?php

    $my_array = [TRUE => 1, FALSE => 2, NULL => 0]; 
    print_r($my_array);
    $my_array = array_filter($my_array, "strlen", ARRAY_FILTER_USE_KEY);
    print_r($my_array); 

?>

输出:

Array ( [1] => 1 [0] => 2 [] => 0 )
Array ( [1] => 1 [0] => 2 )

旁注:

密钥实际上不能为NULL。您也可以在manual

中看到这一点
  

可以是整数或字符串。值可以是任何类型。

表示您的“NULL”键被转换为空字符串。您可以使用var_dump()

查看此信息
array(3) { [1]=> int(1) [0]=> int(2) [""]=> int(5) }
                                   //^^^^ See the key is just an empty string