本文实例讲述了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程序设计有所帮助。