2017-12-22 4 views
-2

특정 값을 원하는 다차원 배열이 있습니다.키를 사용하여 다차원 배열의 특정 값을 얻습니다.

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

내가 img_id = 3으로 이미지의 반향 경로하려는 예를 들어 그와 같은 영상에 대한 배열을 갖는다. 주어진 값의 배열을 검색하고 성공하면 첫 번째 해당하는 키를 반환 -

나는

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

array_search, 하나 라이너가 필요한 경우

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

가능한 복제 (https://stackoverflow.com/questions/6661530/php-multidimensional-array-search-by-value) – iainn

+0

@iainn ISN, 아래와 같이 코드 전체 배열을 검색하지 않고 경로를 얻을 수있는 방법이 없습니까? 나는 이미지의 ID를 알고 있기 때문에 나는 내가 변수를 echo하는 것처럼 echo를 쓸 수 있기를 생각하고있다. – sotiris

+0

배열에 기반하여 배열을 검색하려면 배열의 키로 사용한다. 그렇지 않으면 아니요, 반복해야합니다. 'array_column'을 사용하여 기존 배열의 색인을 다시 생성 할 수 있습니다 (예 : '$ array = array_column ($ array, null, 'img_id');' – iainn

답변

0

같은 것이, 여기에 하나입니다 생각

array_column - 입력 배열의 단일 열에서 값을 반환하십시오.

여기가 작동 중입니다 demo.

0

for-each loop의 도움으로 배열을 탐색하고 img_id의 값을 if-else block으로 확인하십시오.

foreach($array as $array1){ 

if($array1['img_id]'==3){ 
echo $array1['path']; // your answer 
} 
} 
[값만큼 PHP 다차원 배열 됨]의
관련 문제