PHP:echo, print, print_r, printf, sprinf, var_export, var_dump:列印函數差異比較

echo

void echo ( string $arg1 [, string $... ] )

印出一個或多個字串,是語言結構而不是函數,所以不一定要用小括號,想傳遞多參數不能用小括號,用逗點隔開。輸出參數沒有返回值。

範例:

$foo = "foobar";
$bar = "barbaz";
echo $foo, $bar;

print

int print ( string $arg )

印出一個字串,是語言結構而不是函數,也可以不用括號。返回值為 1 。

範例:

$foo = "foobar";
print "foo is $foo";

print_r

bool print_r ( mixed $expression [, bool $return ] )

印出一個變數的訊息,是函數,如果給的是 String, Integer, Float 會印出本身,Array 和 Object 會按照一定格式顯示鍵和值。
最後加一個 true 當 ruturn 參數的話不會印出而會變成回傳值。

範例:

$num_arr = array(81, 20, 45);
print_r($num_arr);

會印出

Array
(
    [0] => 81
    [1] => 20
    [2] => 45
)

( html 顯示會擠成一行)

printf

int printf ( string $format [, mixed $args [, mixed $... ]] )

印出格式化的字串。用 % 接上一個字母表示格式。

範例:

printf('there are %d balls in the %s', 15, 'box' );

印出

'there are 15 balls in the box'

sprintf

string sprintf ( string $format [, mixed $args [, mixed $... ]] )

回傳格式化的字串。用 % 接上一個字母表示格式。

範例:

sprintf('there are %d balls in the %s', 15, 'box' );

回傳

'there are 15 balls in the box'

var_export

mixed var_export ( mixed $expression [, bool $return ] )

回傳一個或多個表達式的結構訊息,包括類型與值,Array 跟 Object 也會展開結構。
跟 var_dump 的差別是 var_export 回傳的是一個合法的 php 程式碼。
最後加一個 true 當 ruturn 參數的話可以把它的值指定給變數。

範例:

$num_arr = array(81, 20, 45);
var_export($num_arr);

會回傳

array {
  0 => 81,
  1 => 20,
  2 => 45,
}

var_dump

void var_dump ( mixed $expression [, mixed $... ] )

印出一個或多個表達式的結構訊息,包括類型與值,Array 跟 Object 也會展開結構。

範例:

$num_arr = array(81, 20, 45);
var_dump($num_arr);

會印出

array(3) {
  [0]=>
  int(81)
  [1]=>
  int(20)
  [2]=>
  int(45)
}

PHP:echo, print, print_r, printf, sprinf, var_export, var_dump:列印函數差異比較” 有 1 則迴響

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s