一步一步学习PHP(7) php 字符串相关应用


Posted in PHP onMarch 05, 2010

1. 字符串的表现形式
在PHP中,字符串有三种表现形式:单引号,双引号,以及heredoc。
PHP手册建议,在一般情况下,尽量使用单引号的字符串。如果需要转义变量,才使用双引号的字符串。如果需要多行显示,才使用heredoc。
heredoc形式:

<?php 
$test=<<< FOOBAR 
Hello World! 
Hello PHP! 
FOOBAR; 
echo $test; 
?>

Heredoc是有着开始符和结束符的一段文字,在本段程序中为FOOBAR,不过个人建议最好使用更复杂的字符串,这样的话可以避免在字符串中遇到与其同样的文本而发生错误。
另外,需要注意的一点就是,在heredoc中并非是空格无关的,所以最后一行结尾符一定要在该行开头(无空格和缩进)。我就因为这个调试了N久,?濉??
但是在一般应用中,heredoc不是很常用的。
关于单引号和双引号的区别,可以参考我之前的文章:
2. 字符串的输出
关于字符串的输出,其实有很多方式,但是在这里个人认为只介绍有用的三个:
A. echo 这个是最常用的字符串的输出形式,但是在这里需要知道echo不是函数,而是语言结构,区别是函数都是有返回值的,但是语言结构是没有返回值的。当然,这个了解就可以了。
B. printf 这个常用于字符串先组合后打印,其实很类似于String.Format然后再打印,如果大家学过C语言,一定会这段代码很熟悉,就不多做解释了:
<?php 
printf('Hello %s,I am %d','world',22); 
?>

C. print_r,这个函数主要用于调试,该函数的最大好处是能把一些乱七八糟的东西都打印出来,举个例子:
<?php 
class People 
{ 
private $name; 
public function People($name) 
{ 
$this->name=$name; 
} 
public function Say() 
{ 
echo('Hello'.$name); 
} 
} 
$p=new People("kym"); 
print_r($p); 
?>

一步一步学习PHP(7) php 字符串相关应用 
还可以是:
<?php 
$arr=array('1'=>'kym','2'=>'sina','3'=>'blog'); 
print_r($arr); 
?>

但是这个函数也有个缺点:
<?php 
print_r(true); 
print_r(false); 
?>

结果发现无法正常打印。那么这时这个函数相对来说就更适合于调试了。
D. var_dump,这个函数相比于print_r最大的优势就在于可以打印出true和false。其余用法一致。
3. 字符串的常用函数
脚本语言一向以字符串处理为荣,那么我就来看下常用的字符串处理函数。我们可以查阅一下PHP的字符串函数库。
其中,个人认为常用的只有这么几个:
<?php 
$str='HelloPHP'; 
md5($str); //MD5加密 
for($i=0;$i<strlen($str);$i++) 
{ 
echo($str($i)); 
} 
strtoupper($str); //转成大写 
strtolower($str); //转成小写 
trim($str); //去掉首位的空白 
rtrim($str); //去掉右边的空白 
ltrim($str); //去掉左边的空白 
strrev($str); //字符串反转 
?>

感觉没几个的,一写起来感觉都很有用,算了,还是看手册吧。
PHP 相关文章推荐
php对关联数组循环遍历的实现方法
Mar 13 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
浅谈PDO的rowCount函数
Jun 18 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
php防止用户重复提交表单
Nov 02 PHP
详解PHP中的null合并运算符
Dec 30 PHP
Linux安装配置php环境的方法
Jan 14 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
php实现session共享的实例方法
Sep 19 PHP
浅谈laravel orm 中的一对多关系 hasMany
Oct 21 PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 #PHP
php &amp;&amp; 逻辑与运算符使用说明
Mar 04 #PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 #PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 #PHP
php绝对路径与相对路径之间关系的的分析
Mar 03 #PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 #PHP
PHP 引用文件技巧
Mar 02 #PHP
You might like
ajax实现无刷新分页(php)
2010/07/18 PHP
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
JavaScript更改class和id的方法
2008/10/10 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
Nodejs Post请求报socket hang up错误的解决办法
2014/09/25 NodeJs
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
微信小程序 欢迎界面开发的实例详解
2016/11/30 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
一则python3的简单爬虫代码
2014/05/26 Python
python之import机制详解
2014/07/03 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
Python对wav文件的重采样实例
2020/02/25 Python
美国电视购物HSN官网:HSN
2016/09/07 全球购物
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
我的梦想演讲稿500字
2014/08/21 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
导游词之云南丽江古城
2019/09/17 职场文书