2017-06-23 17 views
1

PHPを使用して多次元配列内の配列を探したい。例えばPHP多次元配列内の配列を見つける

$arr = array(

    '1253' => array('0' => 'av/data'), 
    '1254' => array('1' => 'celling', '2' => 'electrical'), 
    '1255' => array('1' => 'celling', '2' => 'electrical'), 
); 

を検索したい

array('1' => 'celling', '2' => 'electrical') 

期待される結果は次のようになります。

array('1254', '1255') 

がちょうど好き、一致指数を返します方法が必要_ .findIndexのlodash Javascriptライブラリ。

+0

あなたはあきらめましたか? – AbraCadaver

+0

ほとんど、イェップ: –

+0

それはどういう意味ですか?まだ問題がありますか? – AbraCadaver

答えて

2

array_search()およびarray_keys()は、針としてアレイをとることができる。 array_search()は、最初に一致した鍵を返し、array_keys()は、一致するすべてのキーを返します。

$keys = array_keys($arr, array('1' => 'celling', '2' => 'electrical')); 
1

ループメインアレイを、検索配列と比較します。

$arr = array(

    '1253' => array('0' => 'av/data'), 
    '1254' => array('1' => 'celling', '2' => 'electrical'), 
    '1255' => array('1' => 'celling', '2' => 'electrical'), 
); 

$array_check = array('1' => 'celling', '2' => 'electrical'); 

foreach($arr as $key=>$val){ 

    if($val === $array_check){ 
     $new_array[]=$key; 
    } 
} 

print_r($new_array); 
+0

これは正常に動作します。実際に私はいくつかのビルドイン機能を探していました。 –