종종 배열을 연관 배열로 변환하는 기능이 필요합니다 (종종 isset
을 사용하여 항목의 존재 여부를 확인할 수 있음).비 연관 배열을 연관 배열로 변환하는 가장 유용한 방법
저를 예를 들어 보겠습니다 :
$test = array("foo", "bar", "faz");
내가 좋아하는 뭔가이 변환하고 싶습니다 : (거의) 내가하고 싶은 것을 달성 나는 이러한 기술을 알고
$test = array("foo" => true, "bar" => true, "faz" => true);
하지만 이보다 더 매끄럽고 세련된 뭔가를 찾고 있습니다.
$new = array();
foreach ($test as $v) $new[$v] = true; // want to do it without a loop
$new = array_flip($test); // works for isset but array_values($new) are all different
$new = array_map(function() { return true; }, array_flip($test)); // would work but verbose
아이디어가 있으십니까? 함께 array_fill
평소처럼
루프에 어떤 문제가 있습니까? 문제를 해결하는 것 같습니다. – cspray
실제로 달성하려는 것은 무엇입니까? 'array_search'는 이들 해결책들과 결합 된'isset'보다 훨씬 더 효율적이고 (그리고 쉽게) 특정 값을 찾을 것입니다. 'if (array_search ('foo', $ test)! == false) {/ * do stuff * /}' –
연상 배열은 물론 PHP 배열입니다. – markus