php中explode和split的区别

        昨天的时候在改PHP的代码,碰到一个纠结我好长时间的问题,本人一直是做的是.net,对于PHP的来说,只是需要做项目的时候现学的,所以碰到不少问题,因为没有配置PHP的DeBug环境,所以只能边运行看着结果去改代码,对于我这种习惯了查看时时参数的初级程序猿来说,真的是个挑战。
        好了,言归正传,继续说问题,要做的PHP代码是个商城通过ajax根据数量,属性修改总价的功能,在数据库里有一个区间价,需要拆分出来,就需要用到将字符串拆分成数组的方法,想起JS的split,就试了一下,发现有,还可以用,后来,在服务器老是出不来结果,于是就一步步的找问题,发现,总算是找到问题了,于是我将split换成了explode ,OK,执行成功,但是为什么呢,于是我就将两个方法找了出来看看。
函数原型:array split (string $pattern, string $string [, int $limit]) 

函数原型:array explode ( string $separator, string $string [, int $limit]) 


初看没有啥差别,貌似功能都一样。

然后上网找了一下,发现了,参数string $pattern和string separator,一个是$pattern说明是正则字符串,一个是$separator是普通字符串。 



$test = end(explode('.', 'abc.txt')); 
echo $test;//output txt 


$test1 = end(split('.','abc.txt')); 
echo $test1;//no output 


用split的正确做法是:加转义符号 


$test1 = end(split('\.','abc.txt')); 
echo $test1;//output txt 


分析:"." 符号是正则表达式的关键字所以split无效,而explode有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值