一步一步學習PHP(7) php 字符串相關(guān)應用
更新時間:2010年03月05日 17:47:53 作者:
PHP手冊建議,在一般情況下,盡量使用單引號的字符串。如果需要轉(zhuǎn)義變量,才使用雙引號的字符串。如果需要多行顯示,才使用heredoc。
1. 字符串的表現(xiàn)形式
在PHP中,字符串有三種表現(xiàn)形式:單引號,雙引號,以及heredoc。
PHP手冊建議,在一般情況下,盡量使用單引號的字符串。如果需要轉(zhuǎn)義變量,才使用雙引號的字符串。如果需要多行顯示,才使用heredoc。
heredoc形式:
<?php
$test=<<< FOOBAR
Hello World!
Hello PHP!
FOOBAR;
echo $test;
?>
Heredoc是有著開始符和結(jié)束符的一段文字,在本段程序中為FOOBAR,不過個人建議最好使用更復雜的字符串,這樣的話可以避免在字符串中遇到與其同樣的文本而發(fā)生錯誤。
另外,需要注意的一點就是,在heredoc中并非是空格無關(guān)的,所以最后一行結(jié)尾符一定要在該行開頭(無空格和縮進)。我就因為這個調(diào)試了N久,囧…….
但是在一般應用中,heredoc不是很常用的。
關(guān)于單引號和雙引號的區(qū)別,可以參考我之前的文章:
2. 字符串的輸出
關(guān)于字符串的輸出,其實有很多方式,但是在這里個人認為只介紹有用的三個:
A. echo 這個是最常用的字符串的輸出形式,但是在這里需要知道echo不是函數(shù),而是語言結(jié)構(gòu),區(qū)別是函數(shù)都是有返回值的,但是語言結(jié)構(gòu)是沒有返回值的。當然,這個了解就可以了。
B. printf 這個常用于字符串先組合后打印,其實很類似于String.Format然后再打印,如果大家學過C語言,一定會這段代碼很熟悉,就不多做解釋了:
<?php
printf('Hello %s,I am %d','world',22);
?>
C. print_r,這個函數(shù)主要用于調(diào)試,該函數(shù)的最大好處是能把一些亂七八糟的東西都打印出來,舉個例子:
<?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
$arr=array('1'=>'kym','2'=>'sina','3'=>'blog');
print_r($arr);
?>
但是這個函數(shù)也有個缺點:
<?php
print_r(true);
print_r(false);
?>
結(jié)果發(fā)現(xiàn)無法正常打印。那么這時這個函數(shù)相對來說就更適合于調(diào)試了。
D. var_dump,這個函數(shù)相比于print_r最大的優(yōu)勢就在于可以打印出true和false。其余用法一致。
3. 字符串的常用函數(shù)
腳本語言一向以字符串處理為榮,那么我就來看下常用的字符串處理函數(shù)。我們可以查閱一下PHP的字符串函數(shù)庫。
其中,個人認為常用的只有這么幾個:
<?php
$str='HelloPHP';
md5($str); //MD5加密
for($i=0;$i<strlen($str);$i++)
{
echo($str($i));
}
strtoupper($str); //轉(zhuǎn)成大寫
strtolower($str); //轉(zhuǎn)成小寫
trim($str); //去掉首位的空白
rtrim($str); //去掉右邊的空白
ltrim($str); //去掉左邊的空白
strrev($str); //字符串反轉(zhuǎn)
?>
感覺沒幾個的,一寫起來感覺都很有用,算了,還是看手冊吧。
在PHP中,字符串有三種表現(xiàn)形式:單引號,雙引號,以及heredoc。
PHP手冊建議,在一般情況下,盡量使用單引號的字符串。如果需要轉(zhuǎn)義變量,才使用雙引號的字符串。如果需要多行顯示,才使用heredoc。
heredoc形式:
復制代碼 代碼如下:
<?php
$test=<<< FOOBAR
Hello World!
Hello PHP!
FOOBAR;
echo $test;
?>
Heredoc是有著開始符和結(jié)束符的一段文字,在本段程序中為FOOBAR,不過個人建議最好使用更復雜的字符串,這樣的話可以避免在字符串中遇到與其同樣的文本而發(fā)生錯誤。
另外,需要注意的一點就是,在heredoc中并非是空格無關(guān)的,所以最后一行結(jié)尾符一定要在該行開頭(無空格和縮進)。我就因為這個調(diào)試了N久,囧…….
但是在一般應用中,heredoc不是很常用的。
關(guān)于單引號和雙引號的區(qū)別,可以參考我之前的文章:
2. 字符串的輸出
關(guān)于字符串的輸出,其實有很多方式,但是在這里個人認為只介紹有用的三個:
A. echo 這個是最常用的字符串的輸出形式,但是在這里需要知道echo不是函數(shù),而是語言結(jié)構(gòu),區(qū)別是函數(shù)都是有返回值的,但是語言結(jié)構(gòu)是沒有返回值的。當然,這個了解就可以了。
B. printf 這個常用于字符串先組合后打印,其實很類似于String.Format然后再打印,如果大家學過C語言,一定會這段代碼很熟悉,就不多做解釋了:
復制代碼 代碼如下:
<?php
printf('Hello %s,I am %d','world',22);
?>
C. print_r,這個函數(shù)主要用于調(diào)試,該函數(shù)的最大好處是能把一些亂七八糟的東西都打印出來,舉個例子:
復制代碼 代碼如下:
<?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
$arr=array('1'=>'kym','2'=>'sina','3'=>'blog');
print_r($arr);
?>
但是這個函數(shù)也有個缺點:
復制代碼 代碼如下:
<?php
print_r(true);
print_r(false);
?>
結(jié)果發(fā)現(xiàn)無法正常打印。那么這時這個函數(shù)相對來說就更適合于調(diào)試了。
D. var_dump,這個函數(shù)相比于print_r最大的優(yōu)勢就在于可以打印出true和false。其余用法一致。
3. 字符串的常用函數(shù)
腳本語言一向以字符串處理為榮,那么我就來看下常用的字符串處理函數(shù)。我們可以查閱一下PHP的字符串函數(shù)庫。
其中,個人認為常用的只有這么幾個:
復制代碼 代碼如下:
<?php
$str='HelloPHP';
md5($str); //MD5加密
for($i=0;$i<strlen($str);$i++)
{
echo($str($i));
}
strtoupper($str); //轉(zhuǎn)成大寫
strtolower($str); //轉(zhuǎn)成小寫
trim($str); //去掉首位的空白
rtrim($str); //去掉右邊的空白
ltrim($str); //去掉左邊的空白
strrev($str); //字符串反轉(zhuǎn)
?>
感覺沒幾個的,一寫起來感覺都很有用,算了,還是看手冊吧。