php中echo(),print(),print_r()用法_PHP教程

來源:互聯網
上載者:User
從我對echo(),print(),print_r()這個函數的理解是echo可輸入字串變數常量,print與echo差不多,但print_r可以列印數組而前兩者是不可以的,下面我來詳細介紹它們三個的用法與區別吧。


echo是PHP語句, print和print_r是函數,語句沒有傳回值,函數可以有傳回值(即便沒有用)
print() 只能列印出簡單類型變數的值(如int,string)
print_r() 可以列印出複雜類型變數的值(如數組,對象)
echo 輸出一個或者多個字串

echo — 輸出一個或者多個字串
Descrīption
void echo ( string arg1 [, string ...] ) //傳回值為空白

代碼如下 複製代碼
echo "你好","朋友";

print –輸出一個字串

Descrīption

int print ( string arg )//傳回值為整形

代碼如下 複製代碼

print "你好朋友";

可以進行下面操作

代碼如下 複製代碼

$name=print "nihao n";
$str = 'test print value is'.$name;
eval("$print="$str";");
echo $print;

print_r — 列印關於變數的易於理解的資訊。
bool print_r ( mixed expression [, bool return] ) //傳回值是布爾型的,參數是mix類型的,可以是字串,整形,數組,對象類print_r() 顯示關於一個變數的易於理解的資訊。如果給出的是 string、integer 或 float,將列印變數值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。object 與數組類似。
print_r() 將把數組的指標移到最後邊。
你可以
print_r(str);
print_r(int);
print_r(array);
print_r(obj);

下面我們一個個舉例說明一下

四種方法可以輸出字串。 echo

print()

printf()

print_r()
echo
可以一次輸出多個值,多個值之間用逗號分隔。echo是語言結構(language construct),而並不是真正的函數,因此不能作為運算式的一部分使用。

文法正確: echo "Hello", "World";
語法錯誤: echo ("Hello", "World");
print()
函數print()列印一個值(它的參數),如果字串成功顯示則返回true,否則返回false。如,

代碼如下 複製代碼

if (!print("Hello, World")){

die("you are not listening to me");

}

printf()
printf()源於C語言中的printf()。該函數輸出格式化的字串。
文法: printf(format,arg1,arg2,arg++)
format 規定字串以及如何格式化其中的變數;
arg1, arg2, ++ 等參數將插入到主字串中的百分比符號 (%) 符號處。該函數是逐步執行的。在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。
Example: ?php

代碼如下 複製代碼

$str = "Hello";

$number = 123;

printf("%s world. Day number %u",$str,$number);

?>
#Results======
Hello world. Day number 123

如果 % 符號多於 arg 參數,則您必須使用預留位置。預留位置被插入 % 符號之後,由數字和 "$" 組成。請參見例子 3。
Example: ?php

代碼如下 複製代碼

$number = 123;

printf("With 2 decimals: %1$.2fbr />With no decimals: %1$u",$number);

?>
#Result
With 2 decimals: 123.00
With no decimals: 123

print_r()和var_dump()
print_r()可以把字串和數字簡單地列印出來,而數組則以括起來的鍵和值得列表形式顯示,並以Array開頭。如,

代碼如下 複製代碼

$a = array('name' => 'Fred', 'age' => '15', 'wife' => 'Wilma');

print_r($a);
Output: Array

{

[name] => Fred

[age] => 15

[wife] => Wilma

}

對象也一樣。如,

代碼如下 複製代碼

class P {

var $name = 'nat';

// ...

}

$p = new P;

print_r($p);
Output: Object

{

[name] => nat

}

但print_r()輸出布爾值和NULL的結果沒有意義,因為都是列印"n"。因此用var_dump()函數更適合調試

http://www.bkjia.com/PHPjc/631244.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631244.htmlTechArticle從我對echo(),print(),print_r()這個函數的理解是echo可輸入字串變數常量,print與echo差不多,但print_r可以列印數組而前兩者是不可以的,下面我...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.