PHP 배열 키-값 변환 속도 경쟁

WBOY
풀어 주다: 2024-05-01 21:33:02
원래의
623명이 탐색했습니다.

PHP에서 배열 키 값을 변환하는 가장 빠른 정렬 방법은 다음과 같습니다: array_flip(): 0.00192초 array_combine(): 0.00506초 array_map(): 0.01369초 foreach() + array_keys(): 0.01332초 사용자 정의 루프: 0.00600초

PHP 数组键值转换速度大比拼

PHP 배열 키 값 변환 속도 경쟁

PHP에서는 효율적으로 배열을 처리하고 키 값을 변환하는 것이 중요합니다. 이 기사에서는 몇 가지 일반적인 키-값 변환 방법 간의 속도 경쟁을 수행하고 성능을 이해하는 데 도움이 되는 실제 사례를 제공합니다.

테스트 환경

  • PHP 8.1
  • macOS Catalina 10.15
  • 테스트 배열 크기: 1,000,000

방법

다음 방법을 비교해 보겠습니다.

  • array_flip()array_flip()
  • array_combine()
  • array_map()
  • foreach()array_keys()
  • 自定义循环

实战案例

$arr = range(1, 1000000); // 使用 array_flip() $start = microtime(true); $flipped = array_flip($arr); $end = microtime(true); $time_array_flip = $end - $start; // 使用 array_combine() $keys = range('a', 'z'); $start = microtime(true); $combined = array_combine($keys, $arr); $end = microtime(true); $time_array_combine = $end - $start; // 使用 array_map() $start = microtime(true); $mapped = array_map(function($x) { return [$x, $x]; }, $arr); $end = microtime(true); $time_array_map = $end - $start; // 使用 foreach() 和 array_keys() $start = microtime(true); $flipped = []; $keys = array_keys($arr); foreach ($keys as $key) { $flipped[$key] = $arr[$key]; } $end = microtime(true); $time_foreach = $end - $start; // 使用自定义循环 $start = microtime(true); $flipped = []; for ($i = 0; $i < count($arr); $i++) { $flipped[$arr[$i]] = $arr[$i]; } $end = microtime(true); $time_custom = $end - $start; // 显示结果 echo "array_flip(): $time_array_flip s\n"; echo "array_combine(): $time_array_combine s\n"; echo "array_map(): $time_array_map s\n"; echo "foreach() + array_keys(): $time_foreach s\n"; echo "自定义循环: $time_custom s\n";
로그인 후 복사

结果

方法 时间(秒)
array_flip() 0.00192
array_combine() 0.00506
array_map() 0.01369
foreach() + array_keys() 0.01332
自定义循环 0.00600

结论

根据我们的测试,array_flip()是转换数组键值的最快方法,而array_map()foreach()+array_keys()也表现不错。对于大型数组,array_flip()

array_combine() array_map() foreach()array_keys()루프 정의실제 사례rrreeeResult
방법 시간(초)
array_flip() 0.00192
array_combine() 0.00506 td >
array_map() 0.01369
foreach() + array_keys() 0.01332
사용자 정의 루프 0.00600
결론에 따르면 테스트를 거쳐 array_flip()은 배열 키 값을 변환하는 가장 빠른 방법인 반면, array_map()foreach()+ array_keys ()도 잘 작동합니다. 대규모 배열의 경우 array_flip()이 최고의 성능과 효율성을 제공하므로 최선의 선택입니다.

위 내용은 PHP 배열 키-값 변환 속도 경쟁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!