> php教程 > php手册 > 본문

如何快速判断一个值是否在数组中

WBOY
풀어 주다: 2016-06-06 20:12:07
원래의
2635명이 탐색했습니다.

?php$s = '';for($i=1;$i=1000000;$i++){$r = rand(1000000,9999999);$s .= $r.',';}$a = explode(',',$s);$t1 =microtime(true);for($i=0;$i100;$i++){$t = rand(1,1000000);if(in_array($a[$t],$a)){}}$t2 = microtime(true);$b = array_flip($a);for($i=0

<?php $s = '';
for($i=1;$i<=1000000;$i++){
$r = rand(1000000,9999999);
$s .= $r.',';
}
$a = explode(',',$s);
$t1 =microtime(true);
for($i=0;$i<100;$i++){
$t = rand(1,1000000);
if(in_array($a[$t],$a)){}
}
$t2 = microtime(true);
$b = array_flip($a);
for($i=0;$i<100;$i++){
$t = rand(1,1000000);
if(isset($a[$t],$b)){}
}
$t3 = microtime(true);
$c = array_flip($a);
for($i=0;$i<100;$i++){
$t = rand(1,1000000);
if(array_key_exists($a[$t],$c)){}
}
$t4 = microtime(true);
echo $t2-$t1;
echo "\r\n";
echo $t3-$t2;
echo "\r\n";
echo $t4-$t3;
echo "\r\n";
로그인 후 복사

time php -f test.php 运行结果如下

8.6652669906616
0.43561315536499
0.67533493041992

real?? ?0m14.255s
user?? ?0m11.990s
sys?? ?0m0.380s

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿