首页 > 开发 > PHP > 正文

PHP 字符串操作入门教程

2024-05-04 22:14:16
字体:
来源:转载
供稿:网友
无论哪种语言,字符串操作都是一个重要的基础,往往是简单而重要。正像人说话一样,一般有形体(图形界面),有语言(print 字符串?),显然字符串能解释更多的东西。PHP提供了大量的字符串操作函数,功能强大,使用也比较简单,详细请参看 http://cn2.php.net/manual/zh/ref.strings.php . 以下将简单的讲述它的功能和特性。  

弱类型 

PHP是弱类型语言,所以其它类型的数据一般可以直接应用于字符串操作函数里,而自动转换成字符串类型,进行处理,如: 


echo substr("1234567", 1, 3);  
和 
echo substr(123456,1, 3);  
是一样的 


定义 

一般用双引号或单引号标识一个字符串。比如 


$str = "i love u";  
$str = 'i love u';  

它者两者是有一些区别的。后者将一切单引号的内容都会当作字符处理;前者则不然。比如 


$test = "iwind";  
$str = "i love $test";  
$str1 = 'i love $test';  
echo $str; //将得到 i love iwind  
echo $str1; //将得到 i love $test  

同样的以下两个例子的行为也不一样的: 


echo "i love test"; // 将得到 i love est,已经将t视为转义  
echo 'i love test'; // 将得到 i love test  

从而可以简单认为双引号里的内容是经过“解释”过的,单引号的是“所见即所得”的(特殊地,''会被认作一个'')。显而易见,双引号形式的更为灵活一些,当然单引号会适用于一些特殊的场合,这里就不作阐述了。 

输出 

PHP里的输出最常用的是echo,print.两者都不是真正的函数,而是语言构造,所以调用时不必用双括号(比如 


echo("test");print("test")).在输出的时候两者都可以实现赋值: 
echo $str="test"; //一方面输出test,一方面把"test"赋给字符串变量 $str  
print $str="test";  

两者除了名字不一样外,还是有其它区别的。print具有返回值,一直返回1,而echo没有,所以echo比print要快一些: 


$return = print "test";  
echo $return; // 输出1  

也正因为这个原因,print能应用于复合语句中,而echo不能: 


isset($str) or print "str 变量未定义"; // 将输出"str 变量未定义"  
isset($str) or echo "str 变量未定义";// 将提示分析错误  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表