【问题标题】:How to unset an array by null key in php如何在php中通过空键取消设置数组
【发布时间】:2015-06-10 06:35:09
【问题描述】:

之前:

$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) 

【问题讨论】:

  • 你的概念成功了吗?
  • 仅供参考:您可以在这里参观:stackoverflow.com/tour,看看这个网站是如何运作的以及一切都在哪里。
  • @carinhere 它不起作用 你这是什么意思?你的概念? (另外,如果你想给某人写点东西,请使用:@username

标签: php arrays if-statement key unset


【解决方案1】:

你不需要像这样取消设置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

【讨论】:

    猜你喜欢
    • 2012-04-06
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 2014-02-20
    相关资源
    最近更新 更多