2017-03-07 1 views
0

の出力はid,dateおよびtypeの複数の配列を含みます。

$new_array = array(); 

foreach($things as $thing)(

    $new_array[] = array(
     'id' => $thing['id'], 
     'date' => '2017-01-01', 
     'type' => $thing['type'] 
    ); 

) 

print_r($new_array)これは私の中のすべての配列を取得、その後私は、この配列を変更し、特定のtypeを持たない内部のすべてのアレイを削除する場合。

これを行うには、キー値のペアtype =>xに等しい$new_array[]の配列の設定を解除する必要があると仮定します。

これはどのように達成できますか?私はキーの値のペアを解除することに読んだが、これは複数の配列で私を助けることはありません。

+1

を[ '$ new_array = array_filter($ new_array、機能($ n)が{リターンの$ n [ '型'] == 'X'! ;}); '](http://php.net/manual/en/function.array-filter.php)? – castis

+0

'$ thing ['type']'がxと等しいかどうかをチェックし、そうであればサブ配列を配列に追加しないでください。後で配列をフィルタリングしたい場合は、おそらく 'array_filter()'を使うか、単純なforeachループと 'unset()'でそれをやりたいでしょう。 – Rizier123

+0

$ものとは何ですか? – Datadimension

答えて

0

おそらくあなたは、アレイを追加する前に、まず確認する必要があります:

foreach($things as $thing){ 
    if(!empty($thing['type']) && $thing['type'] == 'my type'){ 
    $data[] = [ 
     'id' => $thing['id'], 
     'date' => '2017-01-01', 
     'type' => $thing['type'] 
    ]; 
    } 
} 

print_r($data); 
関連する問題