php 函数 打印,php打印函数入门教程
關于php打印函數我們需要了解php打印函數種類,簡單實用以及功能區別,總結各個打印函數的實用場景以及相關最佳實踐。
函數介紹
1. echoecho用于輸出一個或者多個字符串, 不換行
如果輸出對象非字符串,會嘗試將對象轉成字符串, 轉化失敗則拋出異常
echo屬于語法結構,而非函數
使用<?phpclass Cls1 {}class Cls2 {
public function __toString() {
return 'Cls2';
}
}echo "111"; // '111'//數字類型轉成stringecho 111; // '111'//輸出bool類型true被轉成'1' , false轉成''echo true ;
// '1'echo false; // ''
//輸出對象,嘗試調用對象__toString方法將對象序列化echo (new Cls1);
// error: class Cls1 could not be converted to stringecho (new Cls2);
// 'Cls2'
//輸出輸出多個變量(非字符串類型會被嘗試轉成字符串)echo 22, "11", new Cls2;
// '2211Cls2'
2. printprint 屬于語法結構,而非函數 (同echo)
print 一次只能接受一個字符串(區分與echo)
其他效果同echo
使用<?phpprint 'hello world';
3. print_r()用于 打印關于變量的易于理解的信息。(不包括變量類型信息)
對于對象, 打印所有屬性(public, protected, private)
一次僅允許打印一個變量(區別于echo)
使用<?phpclass Cls1 {
public $var1 = 111; protected $var2 = 222; private $var3 = 333; public function func() {}
}$s = "111";$n = 1;$b = false;$f = 1.1222;$o = new Cls1();$arr = ['1' => 1, "3", 5, $o];print_r($s); // '111'print_r($n); // 1print_r($b); // ''print_r($f); // 1.1222print_r($arr);/*Array(
[1] => 1
[2] => 3
[3] => 5
[4] => Cls1 Object
(
[var1] => 111
[var2:protected] => 222
[var3:Cls1:private] => 333
)
)
*/print_r($o);/*Cls1 Object(
[var1] => 111
[var2:protected] => 222
[var3:Cls1:private] => 333
)
*/
4. var_dump一個或多個表達式的結構信息 (print_r只打印一個表達式)
輸出包括 類型 與值(print_r() 不顯示類型)
使用<?phpclass Cls1 {
public $var1 = 111; protected $var2 = 222; private $var3 = 333; public function func() {}
}$s = "111";$n = 1;$b = false;$f = 1.1222;$o = new Cls1();$arr = ['1' => 1, "3", 5, $o];var_dump($s); // string(3) "111"var_dump($n); // int(1)var_dump($b); // bool(false)var_dump($f); // float(1.1222)var_dump($arr);/*array(4) {
[1]=>
int(1)
[2]=>
string(1) "3"
[3]=>
int(5)
[4]=>
object(Cls1)#1 (3) {
["var1"]=>
int(111)
["var2":protected]=>
int(222)
["var3":"Cls1":private]=>
int(333)
}
}
*/var_dump($o);/*
object(Cls1)#1 (3) {
["var1"]=>
int(111)
["var2":protected]=>
int(222)
["var3":"Cls1":private]=>
int(333)
}
*/var_dump($s, $n, $b, $f);/*string(3) "111"int(1)bool(false)float(1.1222)
*/
5. 其他printf(): 用于格式化輸出的場景
sprintf() 用于格式化字符串場景, 較printf()區別在于,前者直接輸出到標準輸出, 后者字符串以變量形式返回
使用<?php $n = 11;$s = "22";$f = "22";printf("%d%s%f", $n, $s, $f); // 112222.000000$s2 = sprintf("%d%s%f", $n, $s, $f);
echo $s2; // 112222.000000
最佳實踐 (服務調試)不使用print, 可用echo 替代
由于echo只能輸出簡單的字符串,需要了解變量詳細信息不用echo, 建議使用print_r(), var_dump() (個人更偏愛var_dump)
調試信息輸出到瀏覽器, 嘗試添加 echo '
'; 產生更友好的信息顯示4142
43
44
45
46
4. var_dump一個或多個表達式的結構信息 (print_r只打印一個表達式)
輸出包括 類型 與值(print_r() 不顯示類型)
使用<?phpclass Cls1 {
public $var1 = 111; protected $var2 = 222; private $var3 = 333; public function func() {}
}$s = "111";$n = 1;$b = false;$f = 1.1222;$o = new Cls1();$arr = ['1' => 1, "3", 5, $o];var_dump($s); // string(3) "111"var_dump($n); // int(1)var_dump($b); // bool(false)var_dump($f); // float(1.1222)var_dump($arr);/*array(4) {
[1]=>
int(1)
[2]=>
string(1) "3"
[3]=>
int(5)
[4]=>
object(Cls1)#1 (3) {
["var1"]=>
int(111)
["var2":protected]=>
int(222)
["var3":"Cls1":private]=>
int(333)
}
}
*/var_dump($o);/*
object(Cls1)#1 (3) {
["var1"]=>
int(111)
["var2":protected]=>
int(222)
["var3":"Cls1":private]=>
int(333)
}
*/var_dump($s, $n, $b, $f);/*string(3) "111"int(1)bool(false)float(1.1222)
*/
相關推薦:
總結
以上是生活随笔為你收集整理的php 函数 打印,php打印函数入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php-fpm和php,phpcgi和p
- 下一篇: php declare 作用,php d