空多个子场检查

空多个子场检查

问题描述:

数据阵列我有我的数据阵列大约有一千记录的问题和一些数据行是这样的:空多个子场检查

$data = array(
[0]=array("id"=>2,"name"=>'John',"status"=>1,"comment"=>""), 
[1]=array("id"=>3,"name"=>'rock',"status"=>1), 
[2]=array("id"=>4,"comment"=>""), 
[3]=array("id"=>5,"name"=>'Jack',"status"=>1), 
[4]=array("id"=>6,"name"=>'Scott',"status"=>0), 
[5]=array("id"=>7,"name"=>'Nathan',"status"=>1), 
[6]=array("id"=>8,"name"=>'locus',"status"=>1) 
[7]=array("id"=>9,"comment"=>""), 
[8]=array("id"=>10,"report"=>""), 
[9]=array("id"=>12,"name"=>''), 
[10]=array("id"=>20,"name"=>'Sairr',"status"=>1) 
); 

我只是想忽略具有类似于子场1的所有行

[7] =阵列( “ID”=> 9)

莫伊代码:

foreach($data as $field) 
{ 
     //code 
     //code 
     //code 
} 

我有帖子示例数据,但我的实际数据非常大,但有相同的情况。 感谢您的提前。请帮助我。

+0

你有没有编写任何代码? –

+0

你想在函数中忽略它吗?还是干净你的$ data数组? – donald123

+0

是的,我写了。其实我必须生成这些数据的pdf,我的代码看起来像这样:我也发布它。 –

sizeof/count函数会给你数组的大小(元素数)。

使用array_filter

$data = array(
    array("id"=>2,"name"=>'John',"status"=>1), 
    array("id"=>3,"name"=>'rock',"status"=>1), 
    array("id"=>4), 
    array("id"=>8,"name"=>'locus',"status"=>1), 
    array("id"=>9), 
    array("id"=>20,"name"=>'Sairr',"status"=>1), 
); 
$array = array_filter($data, function($v) { return 1 < sizeof($v); }); 
print_r($array); 

或简单的if -condition:

foreach ($data as $item) { 
    if (1 < count($item)) { 
     print_r($item); 
    } 
} 
+0

完美的感谢之人,它适合我。 –