php字符串操作常见问题小结


Posted in PHP onOctober 11, 2016

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

PHP 相关文章推荐
可以在线执行PHP代码包装修正版
Mar 15 PHP
深入分析php之面向对象
May 15 PHP
php实现图片文件与下载文件防盗链的方法
Nov 03 PHP
PHP队列用法实例
Nov 05 PHP
PHP动态规划解决0-1背包问题实例分析
Mar 23 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
Oct 08 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
一个非常实用的php文件上传类
Jul 04 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 PHP
详解php反序列化
Jun 10 PHP
PHP RabbitMQ消息列队
May 11 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 #PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 #PHP
php 获取文件行数的方法总结
Oct 11 #PHP
PHP中文字符串截断无乱码解决方法
Oct 10 #PHP
PHP获取用户客户端真实IP的解决方案
Oct 10 #PHP
php表单加入Token防止重复提交的方法分析
Oct 10 #PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 #PHP
You might like
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
cument.execCommand()用法深入理解
2012/12/04 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
JavaScript插件化开发教程(六)
2015/02/01 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
Python集合操作方法详解
2020/02/09 Python
Python排序函数的使用方法详解
2020/12/11 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
车间班组长的职责
2013/12/13 职场文书
公休请假条
2014/04/11 职场文书
学校宣传标语
2014/06/18 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis