萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php中echo、print、print_r、printf、sprintf、var_dump用法介紹

php中echo、print、print_r、printf、sprintf、var_dump用法介紹

文章介紹了echo、print、print_r、printf、sprintf、var_dump,有需要了解的朋友可參考一下。

一、echo
定義和用法
PHP echo() 函數輸出一個或多個字符串。

echo "" 這種方法也可以,不需要括號都行

語法
echo(strings)
參數 描述
strings 必需。一個或多個要發送到輸出的字符串。

提示和注釋
  注釋:echo() 實際上不是一個函數,因此您無需對其使用括號。不過,如果您希望向 echo() 傳遞一個或多個參數,那麼使用括號會發生解析錯誤。

提示:echo() 函數比 print() 函數快一點點。

提示:echo() 函數可以使用簡化語法。參見例子 5。

 代碼如下 復制代碼

例子
例子 1
<?php
$str = "Who's John Adams?";
echo $str;
echo "<br />";
echo $str."<br />I don't know!";
?>

  輸出:

Who's John Adam?
Who's John Adam?
I don't know!

例子 2
<?php
echo "This text spans multiple lines.";
?>

  輸出:

This text spans multiple lines.

例子 3
<?php
echo 'This ','string ','was ','made ','with multiple parameters';
?>

  輸出:

This string was made with multiple parameters

例子 4
  單引號和雙引號的不同之處。單引號僅輸出變量名,而不是值:

<?php
$color = "red";
echo "Roses are $color";echo "<br />";
echo 'Roses are $color';?>

  輸出:

Roses are red Roses are $color

例子 5
  簡化語法:

<html> <body> <?php
$color = "red";
?> <p>Roses are <?=$color?></p> </body> </html>

  


二、print
    print() 和 echo() 用法一樣,但是echo速度會比print快一點點。實際上它也不是一個函數,因此您無需對其使用括號。不過,如果您希望向print() 傳遞一個以上的參數,那麼使用括號會發生解析錯誤。注意print總是返回1的,這個和echo不一樣,也就是可以使用print來賦值,不過沒有實際意義。
例子:

 代碼如下 復制代碼 <?php
 $a = print("55nav"); // 這個是允許的
 echo $a; // $a的值是1
?>

三、print_r 函數
    print_r函數打印關於變量的易於理解的信息。
    語法:mixed print_r ( mixed $expression [, bool return ] )
    如果變量是string , integer or float , 將會直接輸出其值,如果變量是一個數組,則會輸出一個格式化後的數組,便於閱讀,也就是有key和value對應的那種格式。對於object對象類同。print_r有兩個參數,第一個是變量,第二個可設為true,如果設為true,則會返回字符串,否則返回布爾值TRUE。
例子:

 代碼如下 復制代碼

<?php
 $a="55nav";
 $c = print_r($a);
 echo $c;  // $c的值是TRUE
 $c = print_r($a, ture);
 echo $c; // $c的值是字符串55nav
 ?>

四、printf函數
    printf函數返回一個格式化後的字符串。
    語法:printf(format,arg1,arg2,arg++)
    參數 format 是轉換的格式,以百分比符號 (“%”) 開始到轉換字符結束。下面是可能的 format 值:
* %% – 返回百分比符號
* %b – 二進制數
* %c – 依照 ASCII 值的字符
* %d – 帶符號十進制數
* %e – 可續計數法(比如 1.5e+3)
* %u – 無符號十進制數
* %f – 浮點數(local settings aware)
* %F – 浮點數(not local settings aware)
* %o – 八進制數
* %s – 字符串
* %x – 十六進制數(小寫字母)
* %X – 十六進制數(大寫字母)
    arg1, arg2, arg++ 等參數將插入到主字符串中的百分號 (%) 符號處。該函數是逐步執行的,在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。如果 % 符號多於 arg 參數,則您必須使用占位符。占位符被插入 % 符號之後,由數字和 “$” 組成。可使用數字指定顯示的參數,詳情請看例子。
例子:

 代碼如下 復制代碼

<?php
 printf("My name is %s %s。","55nav", "com"); // My name is 55nav com。
 printf("My name is %1$s %1$s","55nav", "com"); // 在s前添加1$或2$.....表示後面的參數顯示的位置,此行輸出 My name is Ricky Ricky因為只顯示第一個參數兩次。
 printf("My name is %2$s %1$s","55nav", "com"); // My name is com 55nav
 ?>

五、function/43020.htm target=_blank >sprintf函數
     參數 format 是轉換的格式,以百分比符號 ("%") 開始到轉換字符結束。下面的可能的 format 值:

  %% - 返回百分比符號

  %b - 二進制數

  %c - 依照 ASCII 值的字符

  %d - 帶符號十進制數

  %e - 科學計數法(比如 1.5e+3)

  %u - 無符號十進制數

  %f - 浮點數(local settings aware)

  %F - 浮點數(not local settings aware)

  %o - 八進制數 %s - 字符串

  %x - 十六進制數(小寫字母)

  %X - 十六進制數(大寫字母)

  arg1, arg2, ++ 等參數將插入到主字符串中的百分號 (%) 符號處。該函數是逐步執行的。在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。

提示和注釋
  注釋:如果 % 符號多於 arg 參數,則您必須使用占位符。占位符插到 % 符號後面,由數字和 "$" 組成。請參見例子 3。

  提示: 相關函數: fprintf()、 printf()、 vfprintf()、 vprintf() 以及 vsprintf()。

 代碼如下 復制代碼

例子
例子 1
<?php
$str = "Hello";
$number = 123;
$txt = sprintf("%s world. Day number %u",$str,$number);
echo $txt;
?>

輸出:

Hello world. Day number 123

例子 2
<?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>

輸出:

123.000000

例子 3
<?php
$number = 123;
$txt = sprintf("With 2 decimals: %1$.2f<br />With no decimals: %1$u",$number);
echo $txt;
?>

輸出:

With 2 decimals: 123.00 With no decimals: 123

PHP String 函數


六、var_dump函數
var_dump   (PHP 3 >= 3.0.5, PHP 4, PHP 5)   

var_dump -- 打印變量的相關信息

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

此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。   

提示: 為了防止程序直接將結果輸出到浏覽器,可以使用輸出控制函數(output-control functions)來捕獲此函數的輸出,並把它們保存到一個例如 string 類型的變量中。   


可以比較一下 var_dump() 與 print_r()。


例子

 代碼如下 復制代碼


  <pre>

  <?php

  $a = array (1, 2, array ("a", "b", "c"));

  var_dump ($a);

  /* 輸出:

  array(3) {

  [0]=>

  int(1)

  [1]=>

  int(2)

  [2]=>

  array(3) {

  [0]=>

  string(1) "a"

  [1]=>

  string(1) "b"

  [2]=>

  string(1) "c"

  }

  }

  */

  $b = 3.1;

  $c = TRUE;

  var_dump($b,$c);

  /* 輸出:

  float(3.1)

  bool(true)

  */

  ?>

  </pre> 

copyright © 萬盛學電腦網 all rights reserved