假设我们有两个2D数组:
thisArray = array(
array('A', 'B', '');
array('A', 'B', '');
)
如何检查thisArrays数组在索引2处是否都有空值,如果它们在索引2处都有空元素,那么如何从所有数组中删除这些元素?
我似乎无法弄清楚这一点,我似乎无法谷歌任何可以帮助我的PHP功能。
答案 0 :(得分:0)
使用array_column()
和array_filter
,您可以实现此目的,
array_column
- 向您提供一个方向的数组
array_filter
- 过滤,空值,
所以最后如果数组为空,那么所有都是空的
<?php
$array = array(
array('A', 'B', ''),
array('A', 'B', '')
);
if(empty( array_filter(array_column($array,2))) ){
echo 'All are empty at index 2'.PHP_EOL;
// since all are empty
// use reference and unset
foreach($array as &$item) {
unset($item[2]);
}
// unset reference
unset($item);
}
print_r($array);
?>
测试结果:
$ php test.php
All are empty at index 2
Array
(
[0] => Array
(
[0] => A
[1] => B
)
[1] => Array
(
[0] => A
[1] => B
)
)
答案 1 :(得分:0)
$thisArray = array(
array('A', 'B', '');
array('A', 'B', '');
)
试试这个
foreach($thisArray as $array){
if(isset($array[2]) && $array[2]==null){ //if array at index 2 is empty
unset($array[2])); //remove array
}
}
return $thisArray;