1. 程式人生 > >php中echo(),print(),print_r(),var_dump()與var_export()間的區別

php中echo(),print(),print_r(),var_dump()與var_export()間的區別

echo()函式輸出一個或多個字串。

輸出所有引數。不會換行。

echo 不是一個函式(它是一個語言結構), 因此你不一定要使用小括號來指明引數,單引號,雙引號都可以。 echo (不像其他語言構造)不表現得像一個函式, 所以不能總是使用一個函式的上下文。 另外,如果你想給echo 傳遞多個引數, 那麼就不能使用小括號。

例如1:(把字串變數$str的值寫入輸入)

<?php
    $str="hello world!";
    echo $str;
?>
//執行結果:hello world!

例如2:(echo輸出多個字串)

echo 'a','b','c';

 

print()函式:輸出字串

同echo一樣,實際上它並不是一個函式。print有返回值,而echo沒有,當其執行失敗時返回false,成功則返回true,速度比echo稍慢。只能打印出簡單型別變數的值,如:int、string。

例如1:(把字串變數$str的值寫入輸出)

<?php
    $str="hello world!";
    print $str;

print_r()函式:列印關於變數的易於理解的資訊。

能打印出複雜型別變數的值。利用print_r()可以打印出整個陣列內容及結構,按照一定格式顯示鍵和元素,事實上,它不僅僅用於列印,而是用於列印關於變數的易於理解的資訊。

例如1:(列印陣列$age)

<?php
    $age=array(18,20,24);
    print_r($age);
 //執行結果:Array ( [0] => 18 [1] => 20 [2] => 24 )

var_dump()函式:

判斷一個變數的型別與長度,並輸出變數的數值,如果變數有值,輸出的是變數的值,並返回資料型別。此函式顯示關於一個或多個表示式的結構資訊,包括表示式的型別和值。陣列將遞迴展開值,通過縮排顯示其結構。

例如1:

<?php
    $age=array(18,20,24);
    var_dump($age);
//執行結果:array(3) { [0]=> int(18) [1]=> int(20) [2]=> int(24) }

var_export — 輸出或返回一個變數的字串表示

此函式返回關於傳遞給該函式的變數的結構資訊,它和 var_dump() 類似,不同的是其返回的表示是合法的 PHP 程式碼。

您可以通過將函式的第二個引數設定為 TRUE,從而返回變數的表示。