PHP的检查,如果内部阵列阵列包含在特定索引
问题描述:
空值假设我们有两个二维数组:PHP的检查,如果内部阵列阵列包含在特定索引
thisArray = array(
array('A', 'B', '');
array('A', 'B', '');
)
如何检查是thisArrays阵列都在指数2个空值,如果他们这样做都有空索引2中的元素,如何从所有数组中删除这些元素?
我似乎无法弄清楚这一点,我似乎无法谷歌任何PHP功能,这将帮助我。
答
使用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
)
)
答
$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;
请告诉我们一些代码。你已经尝试过什么,你卡在哪里? – chocochaos