PHP 배열 키-값 교환에는 단순 키-값 교환과 순차적 키-값 교환이라는 두 가지 알고리즘이 있습니다. 전자는 배열을 순회하며 일대일 대응으로 키 값을 새 배열에 저장하는 반면, 후자는 array_values() 및 array_keys() 함수를 사용하여 키 값을 순서대로 교환합니다. 성능 테스트에 따르면 배열이 클 경우 순차적 키-값 스왑 알고리즘이 단순 키-값 스왑 알고리즘보다 훨씬 더 빠른 것으로 나타났습니다.
PHP에서 배열은 데이터를 저장하고 관리하는 정렬된 컬렉션입니다. 때로는 배열의 키 값을 교환해야 하는데, 이는 다음 알고리즘으로 달성할 수 있습니다:
function swapArrayKeysValues(array $array): array { $flippedArray = []; foreach ($array as $key => $value) { $flippedArray[$value] = $key; } return $flippedArray; }
배열 키 값 값을 교환하기 위해 다음 알고리즘을 사용할 수 있습니다.
function orderedSwapArrayKeysValues(array $array): array { $values = array_values($array); $keys = array_keys($array); return array_combine($values, $keys); }
두 알고리즘의 성능을 비교하기 위해 우리는 10,000개 요소의 배열을 벤치마킹했습니다.
$array = range(1, 10000); // 简单键值互换 $start = microtime(true); $result = swapArrayKeysValues($array); $end = microtime(true); echo "简单键值互换耗时:" . ($end - $start) . " 秒\n"; // 按序键值互换 $start = microtime(true); $result = orderedSwapArrayKeysValues($array); $end = microtime(true); echo "按序键值互换耗时:" . ($end - $start) . " 秒\n";
출력:
简单键值互换耗时:0.034162014007568 秒 按序键值互换耗时:0.0016639256477356 秒
성능 분석은 다음을 보여줍니다. 순차적 키-값 교환 알고리즘은 단순 키-값 교환 알고리즘보다 훨씬 빠릅니다.
위 내용은 PHP 배열 키-값 교환: 순차적 키-값 교환의 알고리즘 및 성능 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!