その配列を必要なエントリに減らすことができます。これにより元のキーが保持されることに注意してください。そのため、プロセス中に 2 が設定されていない場合、キーとして 0、1、および 3 を持つ配列になる可能性があります。
foreach( $array as $key => &$value ){
if ( $value['type'] != 'A' )
unset( $array[ $key ] );
}
デモ: http://codepad.org/OG5rguJ8
もう 1 つの方法はarray_filter
、配列を一度に 1 エントリずつ繰り返し削減するために使用することです。
function callbackFunc( $val ) {
return $val['type'] == 'A';
}
$result = array_filter( $array, callbackFunc );
array_filter
フィルタリングしたい配列を渡すメソッドと、作成したフィルタリング関数を呼び出します。$val
この関数は、現在の要素を変数として扱い、配列内の各要素に対して実行されます。
その変数の型キーが==
"A" の値にマップされている場合は、TRUE
が返されます。それ以外の場合FALSE
は返されます。関数が を返すと、評価された値が配列TRUE
に送信されます。$result
が返された場合、値は配列FALSE
にプッシュされません。$result
前のオプションと同様に、このメソッドもキー値を保持します。
デモ: http://codepad.org/todHBZo7