常用PHP變數輸出:echo, prinf, sprintf, var_dump

來源:互聯網
上載者:User

標籤:

1、使用 echo 語句 
      使用 echo  可以列印變數和內容,其他可以是系統變數,也可以是HTML代碼,也可以是一個PHP運算式,如下樣本: 
               $a = "12345";    //  變數賦值 
               $b = "this is string"; 
               // 下面分別列印顯示兩個變數內容 
              echo $a ; 
              echo $b; 
              // 顯示由表單提交的內容 
              echo $_POST[‘UserName‘]; 
              $str1 = "FREEBSD"; 
              $str2 = "PHP";   //HTML式文本 
              // 連結字串$str1和$str2並顯示 
              echo $str1."and".$str2."is good partners." ; 
      ?> 
  
2、使用printf函數 
      printf函數用于格式化輸出字串,主要用於字串中以%開頭的格式字串替換。 
      文法: boolean printf ( string format[,mixed args] ) 
      請看下面的例子: 
                   printf ( "$%01.2f", 43.2) ;  //  運行結果 : $43.20 
                   printf ( "%d bottles of beer on %s", 100 , "the wall" ) ; 
                   // 運行結果: 100 bottles of beer on the wall 
                   printf ( "%15s", "some text" ) ;  // 運行結果:  some text 
      ?> 
  
      可以看到,以%開頭的格式字串,則按順序進行參數替換顯示。如下所示: 
                  printf ( "The %2\$s likes to %l\$s", "bark", "dog" ) ; 
                  // 運行結果: The dog likes to bark 
                  printf ( "The %l\$s says: %2\$s , %2\$s.","dog", "bark" ) ; 
                  // 運行結果: The dog says : bark ,  bar. 
  
3、使用sprintf 函數 
      sprintf 函數也用做字串格式化。該函數與 printf 函數基本相同, 但它可以將轉換後的結果儲存到一個字串變數中,而不是直接輸出。 
      文法: string sprintf ( string format , mixed [args]... ) ; 
      其中參數 format 是轉換的格式,以百分比符號%開始到轉換字元為止。請見下面的指令碼例子: 
                      $var1 = 68.75 ; 
                      $var2 = 54.35 ; 
                      $var3 = $var1 + $var2 ; 
                      // 變數$var3值為"123.1"; 
                      $formatted = sprintf ( "%01.2f ", $var3 ) ; 
                      // 變數 $var3 值為"123.10" 
      ?> 
      其中:%01.2f 的%符號是指定格式的開始,也就是從“起始字元”開始,直到出現“轉換字元”,格式化字元的工作正式結束。 
      在% 
符號後面的0表示“填Null 字元”,如果位置為空白就用0來填充,在0後面1規定小數點的前面的數字佔位要有1位以上,把1換成2,若$var3的值為 
1.23,則$formatted的值將為01.23。由於在小數點前面的數字只佔了一位,按照上面所規定的格式,小數點前面數字應該佔2位,現在只有1 
位,所以用0來填滿。在%01後面的 .2 的意思是規定小數點後的數字,必須佔2位。如果$money的值為1.234,則$formatted 
的值將為1.23。為什麼4不見了呢?因為在小數點後面按照上面的規定,必須且僅能佔2位。可是$var3的值中小數點佔了3位,所以4被去掉了,只剩下 
23 。 
        最後,以f 轉換字元結尾,其他轉換字元請參考下面的字元轉換列表。 
  
 轉換字元  功能說明 
 %  列印出百分比符號,不轉換 
 B  整數轉成位元 
 C  整數轉成ASCII字元 
 D  整數轉成十進位 
 F  倍精度數字轉成浮點數 
 O  整數轉成八位元 
 S  整數轉成字串 
 x/X  整數轉成小寫/大寫的十六進位數 

  
        如果在%起始符號後面加上 - (負號)則會把數字按靠右對齊的方式進行處理。如下例所示。 
                             $money = 1.4 ; 
                     $formatted = sprintf ( "%-02.2f", $money ) ; 
                     echo $formatted ; 
        ?> 
        這時候,$formatted 將不會再是01.40而是1.400 
        轉換的格式一次包括如下: 
        1、填Null 字元。0的話表示空格填0;空格是預設值。 
        2、對齊。預設值為向靠右對齊,負號表示向靠左對齊。 
        3、欄位寬度。為最小寬度。 
        4、精確度。指在小數點後的浮點位元。 
  
4、  關於echo 與 print語句的區別 
        echo是一個語句,單純顯示文本資訊或變數值,而卻沒有傳回值; 
        printf (包括printf、sprintf )則是一個函數,可以返回一個布爾值(True 或 False); 
        echo 語句沒有傳回值,但是可以使用 .  (小圓點)來拼接字串,而print則不可以。如果單純做顯示,使用     echo的效率會高一些(無傳回值)。 

5.var_dump 
列印變數的相關資訊, 

此函數顯示關於一個或多個運算式的結構資訊,包括運算式的類型與值。數組將遞迴展開值,通過縮排顯示其結構。 
// 字串變數 
$a = "123"; 
var_dump($a); 
運行結果:string(3) "123" 
列印出該變數的:類型,長度,value值; 


// 數值型數量 
$b = 456; 
var_dump($b); 
運行結果:int(456) 
列印出該變數的:類型,value值; 


// 數組 
$c = array(‘PHP起點‘, ‘phpqidian.com‘); 
var_dump($c); 
運行結果:array(2) { 
  [0]=> 
  string(9) "PHP璧風偣" 
  [1]=> 
  string(13) "phpqidian.com" 

列印出該數組的:類型,元素數,及元素對應的資訊; 


// 布爾類型變數 
$d = true; 
var_dump($d); 
運行結果:bool(true)

常用PHP變數輸出:echo, prinf, sprintf, var_dump

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.