php字符串操作常见问题小结
本文实例讲述了php字符串操作常见问题。分享给大家供大家参考,具体如下:记得当初学习php的时候听的一句觉得很牛X的话就是:一切程序都是字符串,所谓编程只是让数据像水一样在各个代码页面间流来流去。等我目前工作中也确实发现数据格式是个很难的问题,涉及到数据的组装、拆分和再拼装。
之所以要提到Json,因为使用ajax时,经常会涉及到程序与Js之间的数据交互。由于Js不认识PHP中的数组,PHP也不认识JS中的数组或对象。这时候Json这种自由的格式就可以很好的解决了这个问题。
它的格式如下:
例如:
{"username" "Eric""age"23,"sex" "man"}我们强大的PHP已经为此提供了内置函数:json_encode() 和 json_decode()。
很容易理解,json_encode()就是将PHP数组转换成Json。相反,json_decode()就是将Json转换成PHP数组。
例如:
$array = array("name" => "Eric""age" => 23);echo json_encode($array);程序将打印出
{"name""Eric""age"23}$array = array(0 => "Eric" 1 => 23);echo json_encode($array);程序将打印出 :
["Eric"23]除去这种比较自由的格式之外,比较普遍的是字符串与数组之间的互换与拼接:
1、将字符串转换成数组:
explode(separate,string)
示例:
$str = "Hello world It's a beautiful day"explode(" "$str);//以空格为分界点返回:
array([0]=>"Hello"[1]=>"world"[2]=>"It's"[3]=>"a"[4]=>"beautiful"[5]=>"day")将已序列化的字符串返回到原数组形式。
2、将数组转换成字符串:
implode(separate,array) //explode的反向操作,separate默认为空字符
示例:
$array = ('hello''world''');implode(" "$array);返回:
"hello world !"
答:在某些特定情况下,单引号的效率比双引号高。 PHP把单引号中的数据视为普通字符串,不再处理。 而双引号还要对其中的字符串进行处理,比如遇到$了会把其后的内容视为...详情>>
答:详情>>