從我對(duì)echo(),print(),print_r()這個(gè)函數(shù)的理解是echo可輸入字符串變量常量,print與echo差不多,但print_r可以打印數(shù)組而前兩者是不可以的,下面我來(lái)詳細(xì)介紹它們?nèi)齻€(gè)的用法與區(qū)別吧。
echo是PHP語(yǔ)句,print和print_r是函數(shù),語(yǔ)句沒(méi)有返回值,函數(shù)可以有返回值(即便沒(méi)有用)
print() 只能打印出簡(jiǎn)單類型變量的值(如int,string)
print_r() 可以打印出復(fù)雜類型變量的值(如數(shù)組,對(duì)象)
echo 輸出一個(gè)或者多個(gè)字符串
echo — 輸出一個(gè)或者多個(gè)字符串:echo(string arg1[,string ...]),返回值為空.代碼如下:echo "你好","朋友";
print –輸出一個(gè)字符串:int print ( string arg ),返回值為整形,代碼如下:print "你好朋友";
可以進(jìn)行下面操作,代碼如下:
- $name=print "nihao n";
- $str = 'test print value is'.$name;
- eval("$print="$str";");
- echo $print;
print_r — 打印關(guān)于變量的易于理解的信息。
bool print_r ( mixed expression [, bool return] ) //返回值是布爾型的,參數(shù)是mix類型的,可以是字符串,整形,數(shù)組,對(duì)象類print_r() 顯示關(guān)于一個(gè)變量的易于理解的信息。如果給出的是 string、integer 或 float,將打印變量值本身。如果給出的是 array,將會(huì)按照一定格式顯示鍵和元素。object 與數(shù)組類似。
print_r() 將把數(shù)組的指針移到最后邊,你可以.
- print_r(str);
- print_r(int);
- print_r(array);
- print_r(obj);
下面我們一個(gè)個(gè)舉例說(shuō)明一下,四種方法可以輸出字符串
echo,print(),printf(),print_r()
echo可以一次輸出多個(gè)值,多個(gè)值之間用逗號(hào)分隔,echo是語(yǔ)言結(jié)構(gòu)(language construct),而并不是真正的函數(shù),因此不能作為表達(dá)式的一部分使用。
語(yǔ)法正確: echo "Hello", "World";語(yǔ)法錯(cuò)誤: echo ("Hello", "World");
print()函數(shù),print()打印一個(gè)值(它的參數(shù)),如果字符串成功顯示則返回true,否則返回false,代碼如下:
- if (!print("Hello, World")){
- die("you are not listening to me");
- }
printf(),printf()源于C語(yǔ)言中的printf()。該函數(shù)輸出格式化的字符串。
語(yǔ)法: printf(format,arg1,arg2,arg++)
format 規(guī)定字符串以及如何格式化其中的變量;
arg1, arg2, ++ 等參數(shù)將插入到主字符串中的百分號(hào) (%) 符號(hào)處。該函數(shù)是逐步執(zhí)行的。在第一個(gè) % 符號(hào)中,插入 arg1,在第二個(gè) % 符號(hào)處,插入 arg2,依此類推,代碼如下:
- $str = "Hello";
- $number = 123;
- printf("%s world. Day number %u",$str,$number);
如果 % 符號(hào)多于 arg 參數(shù),則您必須使用占位符。占位符被插入 % 符號(hào)之后,由數(shù)字和 "$" 組成,請(qǐng)參見(jiàn)例子代碼如下:
- $number = 123;
- printf("With 2 decimals: %1$.2fbr />With no decimals: %1$u",$number);
print_r()和var_dump()
print_r()可以把字符串和數(shù)字簡(jiǎn)單地打印出來(lái),而數(shù)組則以括起來(lái)的鍵和值得列表形式顯示,并以Array開(kāi)頭,代碼如下:
- $a = array('name' => 'Fred', 'age' => '15', 'wife' => 'Wilma');
- print_r($a);
- Output: Array
- {
- [name] => Fred
- [age] => 15
- [wife] => Wilma
- }
對(duì)象也一樣,代碼如下:
- class P {
- var $name = 'nat';
- // ...
- }
- $p = new P;
- print_r($p);
- Output: Object
- {
- [name] => nat
- }
但print_r()輸出布爾值和NULL的結(jié)果沒(méi)有意義,因?yàn)槎际谴蛴?quot;n",因此用var_dump()函數(shù)更適合調(diào)試.
新聞熱點(diǎn)
疑難解答