文章介紹了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來賦值,不過沒有實際意義。
例子:
三、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>