을한다면 그 일을한다고 생각합니다. 해결책은 간단합니다.
트릭을 수행하려면 배열을 뒤집은 다음 줄이기를 적용하십시오.
$a = array('a','b','c');
$x = array_reduce(array_reverse($a), function ($r, $c) {
return array($c=>$r);
},array());
편집 확장 및 버전 설명 : 우리는 함수가 자동으로 배열에 깊이 갈하지만 우리가하지에이없는 PHP에서
합니다. 아래쪽부터 시작하면 간단한 지정으로 이전 배열 인 에 배열을 묶을 수 있습니다.
$a = array('a','b','c');
$result=array(); // initially the accumulator is empty
$result = array_reduce(
array_reverse($a),
function ($partialResult, $currentElement) {
/* enclose the partially computed result into a key of a new array */
$partialResult = array($currentElement=>$partialResult);
return $partialResult;
},
$result
);
나는 더 짧은 형식을 선호합니다. 나는 그것이 기능적인 관용구이고 중간 경험 많은 개발자에게 (더 많은 기능적 배경을 가지고) 더 이상의 설명을 필요로하지 않는다고 생각한다. 두 번째 것은 많은 잡음을 추가합니다. 그러나 배우는 것은 적합하지만 소스 코드 을 생산 코드 ()로 가져 오는 것은 분명히 return 문과 함께 작동하는 것입니다.
이봐 친구 당신은 어떤 일 때문에 짧은 손에 그것을 다시 수 있고 $ R, $ C를해야 그들이 $ K에 의해, $ V를 무엇으로 ? 당신은 처음에 혼란스러워했고 나는 그 고급이 아닌 사용자를 위해 13 년 동안 PHP를 사용 해왔다. – Barkermn01
@ Barkermn01 알다시피, $ r은 결과를 나타내고 $ c는 현재를 나타낸다. array_reduce 함수 params의 경우이 이름을 사용합니다. 나는 그들의 이름을 조금씩 확장 할 것이고 (또한 설명을 추가하려고한다) – Eineki