《PHP編程:php中使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比》要點(diǎn):
本文介紹了PHP編程:php中使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP實(shí)例判斷某字符是否包含與某于數(shù)組中,辦法有很多,剛學(xué)習(xí)php的新手們估計(jì)偏向于使用循環(huán)來(lái)解決,對(duì)于一般的小網(wǎng)站來(lái)說(shuō),這種解決方案是不會(huì)出現(xiàn)什么大問(wèn)題的.但就性能來(lái)說(shuō),這種辦法不是最好的辦法,下面筆者就 foreach,in_array() array_search 這三種辦法來(lái)比較這三種辦法在性能表現(xiàn)上的差異.
PHP實(shí)例
<?php
$runtime= new runtime;
$runtime->start();
$a = 'k';
$b = array('a','b','c','d','e','f','g','h','i','j','k');
/*
for ($i=0; $i < 100000; $i++) {
var_dump(in_array($a, $b));
}
*/
/*
for ($i=0; $i < 100000; $i++) {
foreach ($b as $key => $value) {
if ($a == $value) {
//echo TRUE;
continue;
}
}
}
*/
/*
for ($i=0; $i < 100000; $i++) {
array_search($a, $b);
}
*/
$runtime->stop();
echo $_b;
echo "執(zhí)行時(shí)間: ".$runtime->spent()." 毫秒";
class runtime{
var $StartTime = 0;
var $StopTime = 0;
function get_microtime(){
list($usec, $sec) = explode(' ', microtime());
return ((float)$usec + (float)$sec);
}
function start(){
$this->StartTime = $this->get_microtime();
}
function stop(){
$this->StopTime = $this->get_microtime();
}
function spent(){
return round(($this->StopTime - $this->StartTime) * 1000, 1);
}
}
?>
PHP實(shí)例以上程序執(zhí)行時(shí)間如下圖所示:
PHP實(shí)例in_array()
PHP實(shí)例
PHP實(shí)例foreach
PHP實(shí)例
PHP實(shí)例array_search()
PHP實(shí)例
PHP實(shí)例由上可以大致看出這三種辦法在性能上的表現(xiàn)了吧,array_search 和 in_array 表現(xiàn)差不多,foreach 表現(xiàn)最差.
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP編程:php中使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/11056.html