这是我打印数组时得到的结果。它是一个多维数组,包含以下值。
[7] => Array
(
[0] => 1
[1] => 34
[2] => 181
[3] => 50
)
[9] => Array
(
[0] => 1
[1] => 2
[2] => 1
[3] => 47
)
[2] => Array
(
[0] => 20
[1] => 0
[2] => 1621
[3] => 45
)
[3] => Array
(
[0] => 120
[1] => 0
[2] => 121
[3] => 45
)
我想删除所有键 [1] 等于 0 的条目。完成修改后,我的最终数组应该像这样
[7] => Array
(
[0] => 1
[1] => 34
[2] => 181
[3] => 50
)
[9] => Array
(
[0] => 1
[1] => 2
[2] => 1
[3] => 47
)
有什么想法吗?
foreach
来救援:
foreach($arr as $key => $entry) {
if(isset($entry[1]) && $entry[1] === 0) {
unset($arr[$key]);
}
}
array_filter
示例:
$arr = array_filter($arr, function($entry) {
return $entry[1] !== 0;
});
(假设至少是 php 5.3,尽管您可以通过创建一个命名函数并将其作为第二个参数传递给
array_filter
来解决这个问题)
如果您只想删除值为 0 的数组,无论键是什么,您可以使用 array_filter 。
<?php
$array = array(1,2,3,4,5,0,'',null);
print_r(array_filter($array));
?>
输出:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
您可以使用此代码从数组中删除空、null 和 0 值
代码:-
$array = array('one', 'two', '', 'three', null,'four','0');
$filteredarray = array_values( array_filter($array) );
print_r($filteredarray);
输出:-
Array
(
[0] => one
[1] => two
[2] => three
[3] => four
)
谢谢你!! 祝一切顺利!!
将整数数组传递给
array_filter()
并将回调设置为 array_product()
。
每行的相乘值将确定数学“乘积”是否为零或非零。 换句话说,任何包含零的行都会为该行创建零总计,并且该行将被取消资格。
代码:(演示)
var_export(
array_filter($array, array_product(...))
);
相关: