$array1 = ['key1'=>'val1', 'key2'=>'val2', 'key3'=>'val3']
$array2 = ['key1','key3']
配列2のキーを持つ配列1からすべての要素を取得したいとします。 だから結果は次のようになります。アーク配列の要素をキーの配列で取得する
$result = ['key1'=>'val1', 'key3'=>'val3']
私はarray_intersect_keyを試してみました($配列1、配列2 $)が、それは動作しません。上記の結果を得る最速の方法は何ですか?
編集:配列2は、連想配列または単一次元かもしれません。 array_flip()を使用
$result = array_intersect_key($array1,array_flip($array2));
はEDIT
それがあれば関係ないことをやって:あなたは)(array_intersect_key使用することができます前に、
編集を参照してください.Array2が連想配列の場合は動作しません。 – firebird
あなたの$ array2が実際に何であるかを示します:array_flip()は連想配列で使用されているかどうかを気にしてはいけません。 –