その配列を必要なエントリに減らすことができます。これにより元のキーが保持されることに注意してください。そのため、プロセス中に 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