2016-12-02 45 views
0

數據陣列我有我的數據陣列大約有一千記錄的問題和一些數據行是這樣的:空多個子場檢查

$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,我的代碼看起來像這樣:我也發佈它。 –

回答

1

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

完美的感謝之人,它適合我。 –