一步一步学习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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
Oct 09 PHP
php 连接mssql数据库 初学php笔记
Mar 01 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
PHP 通过Socket收发十六进制数据的实现代码
Aug 16 PHP
php curl模拟post提交数据示例
Dec 31 PHP
php异常处理方法实例汇总
Jun 24 PHP
PHP生成条形码大揭秘
Sep 24 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
PHP使用观察者模式处理异常信息的方法详解
Sep 24 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
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
php获取远程文件大小
2015/10/20 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
2016/11/29 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
Python读写Redis数据库操作示例
2014/03/18 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
python简单实现AES加密和解密
2019/03/28 Python
学习和使用python的13个理由
2019/07/30 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
高中打架检讨书
2014/02/13 职场文书
洗发露广告词
2014/03/14 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
vue+element ui实现锚点定位
2021/06/29 Vue.js
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
python多线程方法详解
2022/01/18 Python
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android