php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-22 15:08:31 浏览: 评论:0
这篇文章主要介绍了php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,需要的朋友可以参考下。
判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决方案是不会出现什么大问题的。但就性能来说,这种方法不是最好的方法,下面笔者就 foreach,in_array() array_search 这三种方法来比较这三种方法在性能表现上的差异。
- <?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);
- }
- }
- ?>
Tags: in_array foreach array_search
相关文章
- ·in_array函数的用法(2014-01-14)
- ·php 查找数组值程序(2014-03-15)
- ·判断某数组当中是否含有某字符或字符串的函数in_array(2014-08-17)
- ·php中array_search和in_array有什么区别(2015-12-12)
- ·php中in_array函数用法分析(2021-04-26)
- ·PHP 遍历数组语句总结(foreach,for,list,each)(2014-02-23)
- ·php foreach遍历数组用法介绍(2014-02-28)
- ·php遍历数组 list foreach each方法总结(2014-03-07)
- ·php foreach 循环遍历数组方法(2014-05-27)
- ·二种遍历关联数组的方法(2014-05-30)
- ·php遍历二维数组 foreach函数(2014-06-04)
- ·PHP数组foreach遍历输出例子详解(2015-04-08)
- ·PHP特定函数foreach遍历一二维数组(2015-04-08)
- ·深入解析PHP中foreach语句控制数组循环的用法(2021-06-27)
- ·php array_search()实现数组值删除(2014-09-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)