PHP 分割字串 Function 的速度比較(substr/sscanf/preg_match)---substr最快!

固定長度的字串(假設是06481a63041b578d702f159f520847f8),要照固定格式做切割,使用PHP要怎麼切會比較快?註:要將此字串切成=>06/48/1a63041b578d702f159f520847f8這三個字串. 寫簡單的程式做個測試,來比較 substr / sscanf / preg_match 的速度.先設$a='06481a63041b578d702f159f520847f8';,再執行下面程式做測試(全部都跑100萬次的數據):使用substr程式執行花4.08482551575秒:$x[0]=substr($a,0,2);$x[1]=substr($a,2,2);$x[2]=substr($a,4,28);使用sscanf程式執行花5.26213645935秒(與substr差-5.26213645935)list($x[0],$x[1],$x[2])=sscanf($a,'%2s%2s%28s');註:$x=sscanf($a,'%2s%2s%28s');//耗費時間增...

php正则判断手机号码的方法

导读:php用正则表达式判断手机号码的写法:从文章中匹配出所有的手机号就可以preg_match_all(),如果要检查用户输入的手机号是否正确可这样来检查:preg_match().用正则匹配手机号码的时候,我们先分析一下手机号码的规律:1.手机号通常是11位的2.经常是1开头3.第二个数字通常是34578这几个数字,2014.5.5日170号段的手机号开卖所以这里多了个7.$g="/^1[34578]d{9}$/"; //"^"符号表示必须是1开头;"[]"的意思是第二个数字必须是中括号中一个数字;而d则表示0-9任意数字,后跟{9}表示长度是9个数字;后面的$表示结尾;开始和结尾的/是正则表达式必须放在这个中间,有的后面可能还跟模式. 从文章中匹配出所有的手机号就可以这样写了:$str='老吧博客作者的手机是18912345678';preg_match_all("/^1[34578]d{9}$/",$str,$mobiles);//var_dump($mobiles); 如果要检查用户输入的手机号是否正确可这样来检查:if(preg_match("...

Android 下使用 JSON 实现 HTTP 请求,外加几个示例!

不得不说,JSON格式的确是非常美妙的,速度快而且简化了很多操作在Android下,AndroidSDK已经为我们封装好了整个与JSON有关的操作,使用非常方便以下就是一个标准的JSON请求的实现过程: [java] viewplaincopyprint? HttpPost request = new HttpPost(url);  // 先封装一个 JSON 对象  JSONObject param = new JSONObject();  param.put("name", "rarnu");  param.put("password", "123456");  // 绑定到请求 Entry  StringEntity se = new Strin...

PHP完整的AES加解密算法使用及例子(256位)

依赖PHP自身的mcrypt扩展 <?phpclassaes{//CRYPTO_CIPHER_BLOCK_SIZE32private$_secret_key='default_secret_key';publicfunctionsetKey($key){$this->_secret_key=$key;}publicfunctionencode($data){$td=mcrypt_module_open(MCRYPT_RIJNDAEL_256,'',MCRYPT_MODE_CBC,'');$iv=mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);mcrypt_generic_init($td,$this->_secret_key,$iv);$encrypted=mcrypt_generic($td,$data);mcrypt_generic_deinit($td);return$iv.$encrypted;}publicfunctiondecode($data){$td=mcrypt_modul...

常用对称加密算法(DES/AES)类(PHP

看注释,啥也不说了,欢迎各种跨平台测试! /**  * 常用对称加密算法类  * 支持密钥:64/128/256 bit(字节长度8/16/32)  * 支持算法:DES/AES(根据密钥长度自动匹配使用:DES:64bit AES:128/256bit)  * 支持模式:CBC/ECB/OFB/CFB  * 密文编码:base64字符串/十六进制字符串/二进制字符串流  * 填充方式: PKCS5Padding(DES)  *  * @author: linvo  * @version: 1.0.0  * @date: 2013/1/10  */  class Xcrypt{&nb...

JAVA实现AES加密

       上次介绍了《JAVA实现DES加密》,中间提到近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一;AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据。本文就简单介绍如何通过JAVA实现AES加密。闲话少许,掠过AES加密原理及算法,关于这些直接搜索专业网站吧,我们直接看JAVA的具体实现。2.1加密代码有详细解释,不多废话。/**  * 加密  *   * @param content 需要加密的内容  * @param password  加密密码  * @return  */  public static byte[] ...

**CodeIgniter通过hook的方式实现简单的权限控制

根据自己的实际情况,需要两个文件,一个是权限控制类,Acl,另外一个是权限配置的文件acl.php放在了config这个目录下。Acl这个类放在了application/hook/acl.php。通过application/config/config.php文件开启hook,并且配置config这个目录下的hook.php文件。1、开启hook功能,config.php这个文件/*|--------------------------------------------------------------------------|Enable/DisableSystemHooks|--------------------------------------------------------------------------||Ifyouwouldliketousethe'hooks'featureyoumustenableitby|settingthisvariabletoTRUE(boolean).Seetheuserguidefordetails.|*/$config['ena...

php面向对象中public与var的区别

public和var的作用差不多因为var定义的变量如果没有加protected或private则默认为publicphp4中一般是用varphp5中就一般是用public了现在基本都是使用public来代替varvar是定义变量的;而public是定义property(属性)和method(方法)的可见性的 var是PHP4的时候用的,它和现在的Public作用一样,现在就用Public了,PHP4的时候没有Public,Private,Protected,都只有一个var...

**[权限控制] 利用CI钩子实现权限认证

http://codeigniter.org.cn/forums/thread-10877-1-1.html一直没找到CI的权限认证扩展,以前好像找到过一个老外的扩展,不过不怎么好用,现在记不清了,后来仿着jspfirter的方式用CI钩子写了一下,感觉还可以,做个小网站,小应用足够了,没必要搞得太复杂。看到很多人在网上问,这里把我们的方法分享一下,如果你有更好的实现,也请记得分享给我们。^_^通常我们后台路径看起来都会像下面这样: http://www.php-chongqing.com/index.php/manage/ http://www.php-chongqing.com/index.php/manage/article/add http://www.php-chongqing.com/index.php/manage/product/delete/1 http://www.php-chongqing.com/index.php/manage/user因为CI是MVC的,单一入口,并且给我们提供了7个挂钩点,一切就很简单了,我们只需要在...

**极光推送Jpush(v3)服务端PHP版本的api脚本类

关于极光推送的上一篇文章已经说明了,此处就不多说了。使用v3版本的原因是v2使用到2014年年底就停止了。点击查看上一篇的地址 http://www.dodobook.net/php/777欢迎移步浏览。昨天才开始拿到极光推送的SDK下载文档。下载地址http://docs.jpush.cn/display/dev/Server-SDKs看了半天也看出眉目。安装example的方法试了,各种报错。还需要vendor/autoload.phpcomposer的支持。后来查找各种方法能实现了。但是感觉好庞大的一个包。且想封装成为一个类,几次尝试都失败。想想v2版本一个文件实现多好啊。自己太笨了,网上找找到相关的文档。自己稍加改动,终于实现,一个类就在后端调用了。直接上代码:<?phpif(!defined('BASEPATH'))exit('Nodirectscriptaccessallowed');//极光推送的类//文档见:http://docs.jpush.cn/display/dev/Push-API-v3/***使用示例$pushObj=newJpush();//...

**极光推送PHP服务器端推送移动设备消息(Jpush V2 api)

jpush.php 这是推送方法 用到curl发送请求 <?php/***极光推送php服务器端*@authoryalongsun*@Email<syl_ad@163.com>*/classjpush{private$_masterSecret='';private$_appkeys='';/***构造函数*@paramstring$username*@paramstring$password*@paramstring$appkeys*/function__construct($masterSecret='',$appkeys=''){$this->_masterSecret=$masterSecret;$this->_appkeys=$appkeys;}/***模拟post进行url请求*@paramstring$url*@paramstring$param*/functionrequest_post($url='',$param=''){if(empty($url)||empty($param)){returnfalse;...

php中序列化与反序列化

http://www.cnblogs.com/A-Song/archive/2011/12/13/2285619.html转自:http://qing.weibo.com/tag/unserialize把复杂的数据类型压缩到一个字符串中serialize()把变量和它们的值编码成文本形式unserialize()恢复原先变量eg:$stooges=array('Moe','Larry','Curly');$new=serialize($stooges);print_r($new);echo"<br/>";print_r(unserialize($new));结果:a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";}Array([0]=>Moe[1]=>Larry[2]=>Curly)当把这些序列化的数据放在URL中在页面之间会传递时,需要对这些数据调用urlencode(),以确保在其中的URL元字符进行处理:$shopping=array('Poppyseedbagel'=>2,'PlainBag...
IT猿 IT猿·2020-03-26

**后台怎么处理JSON数据中含有双引号?

http://bbs.csdn.net/topics/390578406?page=1 注意是后台,不是用js另外我这个json是直接取得别人的传过来的字符串,不是我自己拼写的,所以我自己不能做到转义去拼接如果针对{"id":"FZ13082900190","type":"人口计生","title":"现在"新婚教育卡"在哪办","time1":"13-08-29","time2":"08-29","from":"网站"}这个我直接拿到的字符串,关键的就是红色字体的 A:这个需要源头处理,找提供接口的人 让他提供标准的JSON字符串给你不就行了·这分明是未转义bug,一个有错误的字符串拿来做正则更正?哪有这种道理?常识上来说,造房子先选好适用的建材,然后组装,哪里会是 造完了,再拆除坏掉设计不合理的建材这种思路?应该是内容->转义->json 让对方改,或者屏蔽双引号 这个是对方的问题了!这样提供的json格式本身就是错误的!! ---------------------------自己写个...

怎么能让json_decode解析带斜杠的字符串

比如前台一个jsobject:{ aa:"ccdd"}$d='{"aa":"cc\dd"}';这时候用json_decode($d,true)会返回NULL,如果用stripslashes处理的话,斜杠都没了,会变成aa:ccdd怎么能支持带的decode。。谢谢。------回答--------- ------其他回答(100分)---------"\"在浏览器中输出的时候就被解析为建议楼主在前台把"aa":"ccdd"改成"aa":"cc\dd"这样接受到的就是'{"aa":"cc\\dd"}'然后可能要借助一个json类网上下一个代码太长就不贴了PHPcode<?phpinclude('json.class.php');$json_str='{"aa":"cc\\dd"}';$json=newMY_JSON();$json_str=stripslashes($json_str);var_dump($json->decode($json_str));//array'aa'=>string'ccdd'(length=5)?>或者楼主可以选择...

**PHP转义Json里的特殊字符的函数

http://www.banghui.org/11332.html 在给一个 App 做API,从服务器端的MySQL 取出数据,然后生成JSON。数据中有个字段叫content,里面保存了文章内容,含有大量HTML标签,这个字段在转json的时候需要转义,因为有大量的特殊字符会破坏json的结构。比如这么一段content:'Loremipsum"dolor"sitamet,consecteturadipiscingelit.'则必须要转化为:Loremipsum"dolor"sitamet,consectetur\adipiscingelit.那么有哪些字符是需要转义的呢?看下图:如果 PHP 版本>5.2,json_encode自带转义。如果是旧版本的PHP则可以用下面的函数。#listfromwww.json.org:(backspace,fformfeed)publicfunctionescapeJsonString($value){$escapers=array("\","/",""","","","","...
首页上一页...633634635636637...下一页尾页