PHP更高效的字符长度判断例子

在php中测试字符串长度的函数是strlen,但今天我发现使用isset更加的更高效,口说不你不相信下面我举两个例子来给各位看看.

学PHP的都了解,在PHP中获取字符串有一个strlen自带函数,这里和大家分享一个在一些特定情况下判断字符串长度较为高效的方式.

来看下面两段代码的执行效率吧,自己理解理解代码的执行思路,代码如下:

  1. <?php
  2. //使用strlen方式
  3. $arr = ‘123456‘;
  4. $sTime = microtime(1);
  5. if(strlen($arr) > 6){
  6. // echo 1;
  7. }
  8. echo microtime(1) - $sTime;
  9. // 输出:0.00035595893859863
  10. /*-------------------------------------*/
  11. //使用isset($arr{})方式
  12. $arr = ‘123456‘;
  13. $sTime = microtime(1);
  14. //开源软件:vcphp.com
  15. if(!isset($arr{6})){
  16. // echo "1rn";
  17. }
  18. echo microtime(1) - $sTime;
  19. // 输出:0.00019097328186035
  20. ?>

企业模板网站分享

时间: 2024-08-04 18:12:00

PHP更高效的字符长度判断例子的相关文章

判断字符长度

/** * 判断姓名字符长度 * 字符串为空返回0:有中文返回中文字符数:无中文返回2 * @param CustomerSn * @return */ private Integer getNameLength(Integer CustomerSn){ Integer sealWidth = 32; CustomerDto customerDto = customerService.getCustomerBySnForEsign(CustomerSn); String custSurname

【代码笔记】判断中英文混合的字符长度的两种方法

一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //第一种方法 NSLog(@"--first-%i",[self convertToInt:@"123我爱你"]); //第二种方法 NSLog(@"--second--%ld",[self getToInt:@"123我爱你"

简化你的Java代码,让工作更高效|语言

计算机专家在问题求解时非常重视表达式简洁性的价值.Unix的先驱者Ken Thompson曾经说过非常著名的一句话:"丢弃1000行代码的那一天是我最有成效的一天之一."这对于任何一个需要持续支持和维护的软件项目来说,都是一个当之无愧的目标.早期的Lisp贡献者Paul Graham甚至将语言的简洁性等同为语言的能力.这种对能力的认识让可以编写紧凑.简介的代码成为许多现代软件项目选择语言的首要标准. 任何程序都可以通过重构,去除多余的代码或无用的占位符,如空格,变得更加简短,不过某些语

布隆过滤器:高效、大概的判断数据是否存在

1      什么是布隆过滤器 本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”,或者说“判断一个元素是否存在一个集合中”,比如: 字处理软件中,需要检查一个英语单词是否拼写正确 在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上 在网络爬虫里,一个网址是否被访问过 yahoo, gmail等邮箱垃圾邮件过滤功能 相比于传统的 List.Set.Map 等

这些小工具让你的Android 开发更高效

在做Android 开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了,今天就为大家推荐一下Android 开发遇到的小工具,来让你的开发更高效. Vysor Vysor 是一个可以将手机的屏幕投影到电脑上,当然也可以操作,当我们做分享或者演示的时候,这个工具起到了作用. Vector Asset Android Studio 在1.4 支持了VectorAsset,所谓VectorAsset:它可以帮助你在Android 项目中添加Materia

除了cPickle,cjson外还有没有更高效点的序列化库了

除了cPickle,cjson外还有没有更高效点的序列化库了 http://blog.csdn.net/chen_lovelotus/article/details/7228745 msgpack最快,而且是跨语言的,二进制,但只能打包简单的list,dict,int,string,unicode,在memcache之类的 字符串协议里会有问题. marshal其次,也是二进制的,可以打包大多数python对象,缺点同msgpack,另文档上说各版本的python实现会不一样,但我这测下 来三台

如何使程序更高效的执行?

在codewars网站做题,做到一下一道题. var add = function (a, b) { return a + b; }; var lazy_sum = make_lazy(add, 2, 3); Test.expect(lazy_sum() === 5, 'Evaluates the expression when required');//这个是codewars网站特有的测试代码,自己运行要另行写 var double = function (n) { return n * 2;

JS~字符串长度判断,超出进行自动截取(支持中文)

今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了,下面是JS代码: <html> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> <body> <input type="text"

JavaScript表单验证,输入中文时字符长度为2

获取输入框中的字符长度进行表单验证,当输入英文时字符长度就是1,当输入中文时字符长度为2. 字符数为4~16位, 上图: 一个中文抵两英文. 上代码 1 btn.addEventListener('click',ov,false); 2 3 function ov(){ 4 var inputValue = text.value.trim(); 5 //去掉最前最后的空格 6 if (countLength(inputValue) < 4 || countLength(inputValue) >