php 中的輸出有哪些?這些之間又有什麼差別?
1. echo
echo是語言結構(language construct)也就是關鍵字,而並不是真正的函數,因此不能作為表達式的一部分使用。使用的時候不用加括號,加上也可以。只支援基本型,布林型除外,echo true的時候顯示1,echo false的時候啥都沒有。 echo不可以輸出數組類型
<?php $arr = array(1,2,3,4,5); echo $arr; ?>
數組,輸出array 對於布爾型,true輸出1 false什麼都沒有輸出
2. print()
只能輸出一個字串,不支援逗號分隔多個顯示變數的語法。 print能輸出數組類型的數據,
<?php $a = "php.cn"; $arr = array(1,2,3,4); print($a); echo "</br>"; print($arr); echo "</br>"; print($arr[1]); ?>
註:$a 是一個字串,用print能夠輸出 $arr是一個數組,輸出不出來
# $ arr 也是一個數組,當用print輸出是,我帶了一個下標,把第一位的輸出出來了
3.print_r()
可以印出複雜型別變數的值(如數組,物件)
<?php $arr = array( 'a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z')); print_r($arr); ?>
註:如果變數是string , integer 和 float , 將會直接輸出其值,如果變數是數組,則會輸出一個格式化後面的數組,方便閱讀,
4.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 header("Content-type: text/html; charset=utf-8");//设置编码 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 55nav 55nav因为只显示第一个参数两次。 printf("My name is %2$s %1$s","55nav", "com"); // My name is com 55nav ?>
註:這個在php中用的還是比較少的
5. var_dump函數
##功能:輸出變數的內容、型別或字串的內容、類型、長度。常用來除錯。
<?php $a = 1 ; $b = "123"; var_dump($a,$b); ?>附註:輸出$b 的型別 是字串型別
#下一節