2017-12-22 7 views
-2

私は、特定の値が必要な多次元配列を持っています。キーを使用して多次元配列の特定の値を取得する

[img_id] => 19, [crdate] => 0000-00-00 00:00:00, [path] => /Media/19987245_10213822143447913_772090576_n.png,[tags] => funny 

は私がimg_id = 3で画像のパスをエコーし​​ます:たとえば、私はそのようなイメージのための配列を持っています。

私はあなたが1つのライナーが必要な場合は、ここで1は、

$name = $arr[array_search($img_id,array_column($arr, 'img_id'))]['path']; 

array_searchある

echo $array[$img_id -> 3]->$path; 
+9

foreach($array as $array1){ if($array1['img_id]'==3){ echo $array1['path']; // your answer } } 
[値によってPHP多次元配列検索]の可能な重複(https://stackoverflow.com/questions/6661530/php-multidimensional-array-search-by-value) – iainn

+0

@iainn ISN以下のように配列全体を検索せずにパスを得る方法はありますか?私はイメージのIDを知っているので、私は変数をエコーするようなエコーを書くことができるので、私は考えていた – sotiris

+0

何かに基づいて配列を検索する場合は、配列のキーとして使用します。それ以外の場合は、ループする必要があります。 'array_column'を使用して既存の配列を再インデックスすることができます。 '$ array = array_column($ array、null、 'img_id');' – iainn

答えて

0

のようなものを考えた - 指定した値を配列で検索し、見つかった場合は、最初に対応するキーを返します

array_column - 入力配列の1つの列から値を返します。

ここで動作していますdemo

0

for-each loopの助けを借りて配列を走査し、img_idの値をif-else blockにチェックしてください。コード、

関連する問題