我有一个数组,我想从状态
中删除数组中的第一个和第二个数组 对于第一个和第二个数组,为空。
输出应该是 数组([0] =>数组( [A] => 300000 [B] =>吉尔 [状态] => “东西” ) )
还有什么想法要继续吗?
array(
[0] => Array
(
[A] => 100000
[B] => jjohn
[status]=>
)
[1] => Array
(
[A] => 200000
[B] => jim
[status]=>
)
[2] => Array
(
[A] => 300000
[B] => jill
[status]=> "something"
)
)
答案 0 :(得分:3)
$array = array_filter($array, function (array $i) { return $i['status']; });
答案 1 :(得分:0)
此功能会检查(bool)$item['status']
是否被评估为 True ,除外
字符串'0'
。
功能:
function ($item) {
return isset($item['status']) && ($item['status'] || is_string($item['status']));
}
测试代码:
$array = array(
array(
'Name' => 'Empty String',
'status' => '',
),
array(
'Name' => 'String Zero',
'status' => '0',
),
array(
'Name' => 'Integer Zero',
'status' => 0,
),
array(
'Name' => 'Bool False',
'status' => false,
),
array(
'Name' => 'NULL',
'status' => null,
),
array(
'Name' => 'Undefined',
),
);
$array = array_values(array_filter($array, function ($item) {
return isset($item['status']) && ($item['status'] || is_string($item['status']));
}));
var_dump($array);
结果:
array(1) {
[0]=>
array(2) {
["Name"]=>
string(11) "String Zero"
["status"]=>
string(1) "0"
}
}