반응형
키로 어레이 값 가져오기
키 배열을 입력으로 하여 해당 값을 반환하는 내장 php 함수를 찾고 있습니다.
예를 들어,다음과 같은 어레이가 있습니다.
$arr = array("key1"=>100, "key2"=>200, "key3"=>300, 'key4'=>400);
key2와 key4의 값이 필요하기 때문에 다른 키가 있습니다.array("key2", "key4")
이 어레이와 첫 번째 어레이를 입력으로 사용하여 값을 제공하는 함수가 필요합니다.그래서 반응이array(200, 400)
array_intersect_key를 찾고 있는 것 같습니다.예:
array_intersect_key(array('a' => 1, 'b' => 3, 'c' => 5),
array_flip(array('a', 'c')));
반환 예정:
array('a' => 1, 'c' => 5);
사용할 수 있습니다.array('a' => '', 'c' => '')
대신array_flip(...)
더 간단한 코드를 원하신다면요
어레이 키는 유지됩니다.순차 배열이 필요한 경우 나중에 array_values를 사용해야 합니다.
대체 답변:
$keys = array("key2", "key4");
return array_map(function($x) use ($arr) { return $arr[$x]; }, $keys);
foreach($input_arr as $key) {
$output_arr[] = $mapping[$key];
}
이로 인해$output_arr
의 키 목록에 대응하는 값을 갖는 모습$input_arr
의 키>값 매핑을 기반으로 합니다.$mapping
필요에 따라서, 다음의 함수로 묶을 수 있습니다.
function get_values_for_keys($mapping, $keys) {
foreach($keys as $key) {
$output_arr[] = $mapping[$key];
}
return $output_arr;
}
그럼 이렇게 부르면 되겠네요
$a = array('a' => 1, 'b' => 2, 'c' => 3);
$values = get_values_for_keys($a, array('a', 'c'));
// $values is now array(1, 3)
언급URL : https://stackoverflow.com/questions/4240129/get-array-values-by-keys
반응형
'programing' 카테고리의 다른 글
Vue 구성 요소의 Laravel 로그아웃 경로 (0) | 2022.10.21 |
---|---|
문자열을 올바른 파일 이름으로 변환하시겠습니까? (0) | 2022.10.11 |
MySQL 테이블, 인덱스 및 데이터 복제 (0) | 2022.10.11 |
SELECT 실행 중...위치..."MySQLdb를 사용하여 입력..." (0) | 2022.10.11 |
HTML5에서 폴리필의 의미는 무엇입니까? (0) | 2022.10.11 |