php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

2025-05-29 0 59

判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决方案是不会出现什么大问题的。但就性能来说,这种方法不是最好的方法,下面笔者就 foreachin_array() array_search 这三种方法来比较这三种方法在性能表现上的差异。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51
<?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 "执行时间: ".$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);

}

}

?>

以上程序执行时间如下图所示:

in_array()

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

foreach

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

array_search()

php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

由上可以大致看出这三种方法在性能上的表现了吧,array_searchin_array 表现差不多,foreach 表现最差。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比 https://www.kuaiidc.com/101817.html

相关文章

发表评论
暂无评论