반응형
키로 배열 값 가져 오기
키 배열을 입력으로 사용하고 해당 값을 반환하는 내장 PHP 함수를 찾고 있습니다.
예를 들어 다음 배열이 있습니다.
$arr = array("key1"=>100, "key2"=>200, "key3"=>300, 'key4'=>400);
그리고이 키 필요 값이 필요 KEY2 및 KEY4 I가 서로 그래서 array("key2", "key4")
I는 입력 배열이 먼저 배열을하는 기능을 필요로하고 저 응답 값을 제공합니다. 그래서 응답은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
-> 매핑을-based 값으로의 키 목록에 해당하는 값 을 갖게 됩니다 $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
반응형
'ProgramingTip' 카테고리의 다른 글
부모 양식의 중앙 MessageBox (0) | 2021.01.05 |
---|---|
두 목록을 하나의 맵 (Java)으로 결합하는 가장 좋은 방법은 무엇입니까? (0) | 2021.01.05 |
gvim : 키보드로 탭 전환 (0) | 2021.01.05 |
Jquery $ ( '# div'). 보여 주다 (). 지연 (5000) .hide (); (0) | 2021.01.05 |
writeToFile : atomically : atomically는 무엇을 의미합니까? (0) | 2021.01.05 |