Mig*_*Mas 6 php arrays string multidimensional-array
我有这个数组:
$aryMain = array(array('hello','bye'), array('',''),array('',''));
Run Code Online (Sandbox Code Playgroud)
它是通过读取csv文件而形成的,数组('','')是文件末尾的空行.
我该如何删除它们?
我试过了:
$aryMain = array_filter($aryMain);
Run Code Online (Sandbox Code Playgroud)
但它不起作用:(
非常感谢!
小智 17
添加到Rikesh的答案:
<?php
$aryMain = array(array('hello','bye'), array('',''),array('',''));
$aryMain = array_filter(array_map('array_filter', $aryMain));
print_r($aryMain);
?>
Run Code Online (Sandbox Code Playgroud)
将他的代码粘贴到另一个array_filter中将自己摆脱整个数组.
Array
(
[0] => Array
(
[0] => hello
[1] => bye
)
)
Run Code Online (Sandbox Code Playgroud)
相比:
$aryMain = array_map('array_filter', $aryMain);
Array
(
[0] => Array
(
[0] => hello
[1] => bye
)
[1] => Array
(
)
[2] => Array
(
)
)
Run Code Online (Sandbox Code Playgroud)
Rik*_*esh 10
将array_map与array_filter一起使用,
$array = array_filter(array_map('array_filter', $array));
Run Code Online (Sandbox Code Playgroud)
或者只是创建一个array_filter_recursive功能
function array_filter_recursive($input)
{
foreach ($input as &$value)
{
if (is_array($value))
{
$value = array_filter_recursive($value);
}
}
return array_filter($input);
}
Run Code Online (Sandbox Code Playgroud)
注意:这将删除包含'0'的项目(即带有数字零的字符串).只需传递'strlen'第二个参数即可0