본문 바로가기
PHP, Codeigniter

PHP 2차원 배열 값으로 키 찾기 array_search, array_column

by beop07 2021. 3. 22.

데이터베이스에서 받아오는 stdClass나 다차원 배열에서 값으로 키를 찾을 일이 종종 있다.

php array_search 와 array_column을 조합하면 쉽게 가져올 수 있다.

 

PHP array_search
주어진 값으로 배열을 검색하여 성공시 키를 반환하고 실패시 false를 반환하는 함수

 

PHP array_column
배열의 key로 검색하여 해당 키값에 해당되는 값을 배열로 반환하는 함수

 

사용예시

2차원 배열의 경우
// array
$language_list = array(
  array(
    "idx" => 1,
    "name" => "ENG",
    "code" => "en"
  ),
  array(
    "idx" => 2,
    "name" => "KOR",
    "code" => "ko"
  ),
  array(
    "idx" => 3,
    "name" => "JAP",
    "code" => "ja"
  )
);

$language = 'en';
$key = array_search($language, array_column($language_list, 'code')); // $key = 1
echo $list[$key]['name']; // print : ENG

 

 

stdClass 경우
// stdClass 경우
// $language_list
array(3) {
  [0]=> object(stdClass)#75 (3) {
    ["idx"]=> string(1) "1"
    ["name"]=> string(3) "ENG"
    ["code"]=> string(2) "en"
  }
  [1]=> object(stdClass)#76 (3) {
    ["idx"]=> string(1) "2"
    ["name"]=> string(3) "KOR"
    ["code"]=> string(2) "ko"
  }
  [2]=> object(stdClass)#73 (3) {
    ["idx"]=> string(1) "3"
    ["name"]=> string(14) "JAP"
    ["code"]=> string(2) "ja"
  }
}

$language = 'en';
$key = array_search($language, array_column($language_list, 'code')); // $key = 1
echo $list[$key]->name; // print : ENG

 

 

keywords : PHP 다차원 배열, PHP 이차원차원 배열, PHP 2차원 배열 키 값 찾기, PHP 배열 값으로 키 찾기. php array_search array_column, PHP array_search array_column

반응형

댓글