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 列,要走到第 …

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

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

MySQL max()函数

转载自 MySQL max()函数 MySQL MAX函数介绍 MySQL MAX()函数返回一组值中的最大值。MAX()函数在许多查询中非常方便,例如查找最大数量,最昂贵的产品以及客户的最大付款。 MAX()函数的语法如下: MAX(DISTINCT expression);如果添加DISTIN…

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

在今天,大前端并不是一个陌生的词汇,我们偶尔会听人谈起它,前些天还看到卓同学写了一篇《大前端时代下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];} }

php破坏代码,php不破坏单词截取子字符串

php不破坏单词截取子字符串/*snippet(phrase,[max length],[phrase tail])snippetgreedy(phrase,[max length before next space],[phrase tail])*/function snippet($text,$length64,$tail"...") {$text trim($text);$txtl strlen($text);if($txtl > $length) …

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;肯定会觉得新的项…

MySQL concat()函数

转载自 MySQL concat()函数 在本教程中&#xff0c;您将学习使用MySQL CONCAT和CONCAT_WS函数将两个或多个字符串连接在一起的各种方法。 要连接两个或多个引用的字符串值&#xff0c;请将字符串放在一起&#xff0c;如下所示&#xff1a; SELECT MySQL String Concaten…

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

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

php 接收文件 错误代码3,php上传文件错误代码3

上传更大的文件(> 10KB)将在$_FILES [‘file’] [‘error’]中获得错误代码3(UPLOAD_ERR_PARTIAL),并且小文件(< 10KB)将成功上传. 如果文件超过限制php post_max_size或upload_max_filesize,则应该获得错误代码1 UPLOAD_ERR_INI_SIZE.但是,获取错误代码3 UPLOAD_ERR_PAR…

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 多年来一…