strcompare php,PHP中的startswith()和endsWith()函数

1e2231a626d6cc8580286ab1a7211a01.png

泛舟湖上清波郎朗

功能function substr_startswith($haystack, $needle) {

    return substr($haystack, 0, strlen($needle)) === $needle;}function preg_match_startswith($haystack, $needle) {

    return preg_match('~' . preg_quote($needle, '~') . '~A', $haystack) > 0;}function substr_compare_startswith($haystack, $needle) {

    return substr_compare($haystack, $needle, 0, strlen($needle)) === 0;}function strpos_startswith($haystack, $needle) {

    return strpos($haystack, $needle) === 0;}function strncmp_startswith($haystack, $needle) {

    return strncmp($haystack, $needle, strlen($needle)) === 0;}function strncmp_startswith2($haystack, $needle) {

    return $haystack[0] === $needle[0]

        ? strncmp($haystack, $needle, strlen($needle)) === 0

        : false;}试验echo 'generating tests';for($i = 0; $i 

    if($i % 2500 === 0) echo '.';

    $test_cases[] = [

        random_bytes(random_int(1, 7000)),

        random_bytes(random_int(1, 3000)),

    ];}echo "done!\n";$functions = ['substr_startswith', 'preg_match_startswith', 'substr_compare_startswith', 'strpos_startswith', 

    'strncmp_startswith', 'strncmp_startswith2'];$results = [];foreach($functions as $func) {

    $start = microtime(true);

    foreach($test_cases as $tc) {

        $func(...$tc);

    }

    $results[$func] = (microtime(true) - $start) * 1000;}asort($results);foreach($results as $func => $time) {

    echo "$func: " . number_format($time, 1) . " ms\n";}结果(PHP 7.0.9)(排序最快至最慢)strncmp_startswith2: 40.2 ms

strncmp_startswith: 42.9 ms

substr_compare_startswith: 44.5 ms

substr_startswith: 48.4 ms

strpos_startswith: 138.7 ms

preg_match_startswith: 13,152.4 ms结果(PHP 5.3.29)(排序最快至最慢)strncmp_startswith2: 477.9 ms

strpos_startswith: 522.1 ms

strncmp_startswith: 617.1 ms

substr_compare_startswith: 706.7 ms

substr_startswith: 756.8 ms

preg_match_startswith: 10,200.0 msstartsWith_bench mark.php

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020蓝桥杯省赛---java---B---8(走方格)

题目描述 【问题描述】在平面上有一些二维的点阵。 这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第 1 至第 m 列,每一个点可以用行号和列号来表示。现在有个人站在第 1 行第 1 列,要走到第 …

我是一位老师,讲课是我的乐趣,可是……

我是一位老师,讲课是我的乐趣,但是作为一个班的老师除了给学生讲课之外,我们还需要其他的管理,比如控班,比如管理学生、指导学生,学生不做作业怎么办,学生不听课怎么办?或者学生上课…

当我们在谈大前端的时候,我们谈的是什么

在今天,大前端并不是一个陌生的词汇,我们偶尔会听人谈起它,前些天还看到卓同学写了一篇《大前端时代下App开发者的生存之道》,说明这个词开始成为某种共识了。 但是大前端到底指的是什么?事实上大前端并没有明确的定义…

153. 寻找旋转排序数组中的最小值---LeetCode---JAVA

class Solution {public int findMin(int[] nums) {int minnums[0];for(int i1;i<nums.length;i){if(nums[i]<min){return nums[i];} }return nums[0];} }

hibernate中报错could not initialize proxy - no Session的解决方法

hibernate中报错&#xff1a;could not initialize proxy - no Session&#xff0c;怎么解决&#xff1f; 解决方法&#xff1a; 在该hbm文件中的 many-to-one 的最后加上&#xff1a;lazy”false”&#xff0c;请看&#xff1a; <many-to-one name"kecheng" cl…

MySQL group_concat()函数

转载自 MySQL group_concat()函数 MySQL GROUP_CONCAT函数介绍 MySQL GROUP_CONCAT()函数将组中的字符串连接成为具有各种选项的单个字符串。 下面说明了GROUP_CONCAT()函数的语法&#xff1a; GROUP_CONCAT(DISTINCT expressionORDER BY expressionSEPARATOR sep);以下是…

MySQL标准偏差

转载自 MySQL标准偏差 标准差介绍 标准差是衡量数据集中值的分布情况&#xff0c;标准偏差显示平均值(平均值)存在多少变化。 低标准偏差表明数据集中的值接近于平均值。 而高标准偏差表示数据集的值在大范围的值上分散。 标准偏差是方差的平方根&#xff0c;可以通过以下…

从Visual Studio看微软20年技术变迁

前言 这个世界从来都不缺变革&#xff0c;从工业革命到晶体管和集成电路&#xff0c;从生活电器到物联网&#xff0c;从简陋人机到精致体验&#xff0c;我们在享受技术带来的便捷的同时&#xff0c;也在为复杂设计而带来的挑战和生产力下降而痛并快乐着。而迫切期盼的&#xff…

c传给php数据解包,小程序源码提取工具,完美解包,一键提取小程序源代码工具_PHP源码...

请注意&#xff1a;该源码来源网友分享&#xff0c;搜库资源网不提供技术支持&#xff0c;没有技术能力的小白勿拍。(如需安装服务费用另算)直接解压后就可以使用将小程序文件放到 wxapkg目录下然后打开 CrackMinApp.exe 按说明即可使用那么如何才能在手机里找到小程序的源文件…

2015蓝桥杯省赛---java---C---3(无穷分数)

题目描述 思路分析 它的结果会随着运算的次数越多,会越来越精确一个值,我们只需要把那个大约值求出来即可. 代码实现 package com.atguigu.lanqiao;public class Main {public static void main(String[] args) {System.out.printf("%.5f",f(1));}public static d…

致给博客粉丝

最近一段时间是我最忙的一段时间&#xff0c;也是博客粉丝找我最多的一段时间&#xff0c;好多粉丝找我要人脸识别的jar包和js文件&#xff0c;在这里我给大家统一说一下&#xff0c;粉丝们可以直接关注微信公众号&#xff1a;青鸟IT汇&#xff0c;回复&#xff1a;java人脸识别…

.Net Core迁移到MSBuild平台

一、前言 在上一篇文章.Net Core迁移到MSBuild的多平台编译问题中&#xff0c;简单的讲了下新的项目配置文件中的节点配置&#xff0c;这篇我将用一些例子来详细讲下从project.json迁移到msbuild过程的节点配置。做过完整迁移新项目配置文件的朋友&#xff0c;肯定会觉得新的项…

青鸟IT汇微信公众号新增智能机器人

这么神奇的吗&#xff1f;居然可以智能小机器人无休止的聊天&#xff1f; 各位粉丝大家好&#xff0c;青鸟IT汇于2018年5月7日新加智能小机器人&#xff0c;粉丝们可以进行互动啦~~ 比如说&#xff1a; 或者这个样子的&#xff1a; 还有这个样子的&#xff1a; 偶尔的调戏…

2015蓝桥杯省赛---java---C---2(立方尾不变)

题目描述 代码实现 package com.atguigu.lanqiao;import java.util.Scanner;public class Main {public static void main(String[] args) {int sum0;for (int i 1; i < 10000; i) {String ai"";String b(long)(Math.pow(i,3))"";String cb.substring…

java人脸识别更新:摄像头支持360、火狐和谷歌浏览器

本次更新内容&#xff1a;打开摄像头在原有的火狐基础上新加360浏览器个谷歌浏览器&#xff0c;IE暂且不支持在index.js中&#xff0c;将这段代码&#xff1a;// 支持浏览器 谷歌,火狐,360,欧朋//navigator.getUserMedia这个写法在Opera中好像是navigator.getUserMedianowif …

使用 Angular

N。正如上个月提到的&#xff0c;现在可以开始处理 MEAN 堆栈的前端。也就是说&#xff0c;我们将深入探究 Angular。自本文撰写之时起&#xff08;可能在今后的几年间&#xff09;&#xff0c;我们都会面临一个问题&#xff0c;即 Angular 存在某种版本问题。 Angular 多年来一…

php公告滚动源码,10行js代码实现上下滚动公告效果方法

本文主要给大家介绍了关于利用10行js代码实现滚动公告效果的相关资料&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起看看吧。希望能帮助到大家。需求在最近的项目中需要实现公…

MySQL left()函数

转载自 MySQL left()函数 MySQL LEFT函数介绍 LEFT()函数是一个字符串函数&#xff0c;它返回具有指定长度的字符串的左边部分。 下面是LEFT()函数的语法 - LEFT(str,length);LEFT()函数接受两个参数&#xff1a; str是要提取子字符串的字符串。length是一个正整数&…

2020蓝桥杯省赛---java---B---10(整数小拼接)

题目描述 代码实现 package com.atguigu.lanqiao;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int k sc.nextInt();int[] array new int[n];for (int i 0; i < n; i…

[ASP.NET Core] Middleware

前言 本篇文章介绍ASP.NET Core里&#xff0c;用来处理HTTP封包的Middleware&#xff0c;为自己留个纪录也希望能帮助到有需要的开发人员。 ASP.NET Core官网 结构 在ASP.NET Core里&#xff0c;每个从「浏览器传入」的HTTP Request封包&#xff0c;会被系统封装为「HttpReques…