1
$my_array = Array ([TRUE] => 1 [FALSE] => 2 [] => 0)
我想删除阵列如果键[]为空。
我的理念:
if ($my_array.key is null) {
unset($my_array.key)
}
希望的排列成为
$my_array = Array ([TRUE] => 1 [FALSE] => 2)
$my_array = Array ([TRUE] => 1 [FALSE] => 2 [] => 0)
我想删除阵列如果键[]为空。
我的理念:
if ($my_array.key is null) {
unset($my_array.key)
}
希望的排列成为
$my_array = Array ([TRUE] => 1 [FALSE] => 2)
你不只是需要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)
侧面说明:
的关键实际上不能为空。您还可以看到这个在manual:
的关键可以是一个整数或字符串。该值可以是任何类型。
意味着您的“NULL”键被转换为空字符串。你可以用var_dump()
来看:
array(3) { [1]=> int(1) [0]=> int(2) [""]=> int(5) }
//^^^^ See the key is just an empty string
你的概念是否有效? – bloodyKnuckles 2015-04-05 19:53:52
供参考:您可以参观这里:http://stackoverflow.com/tour,看看这个网站如何工作,以及在哪里。 – Rizier123 2015-04-05 20:02:14
它不起作用 – carinhere 2015-04-05 20:36:34