php 函数 打印,php打印函数入门教程
關(guān)于php打印函數(shù)我們需要了解php打印函數(shù)種類,簡(jiǎn)單實(shí)用以及功能區(qū)別,總結(jié)各個(gè)打印函數(shù)的實(shí)用場(chǎng)景以及相關(guān)最佳實(shí)踐。
函數(shù)介紹
1. echoecho用于輸出一個(gè)或者多個(gè)字符串, 不換行
如果輸出對(duì)象非字符串,會(huì)嘗試將對(duì)象轉(zhuǎn)成字符串, 轉(zhuǎn)化失敗則拋出異常
echo屬于語(yǔ)法結(jié)構(gòu),而非函數(shù)
使用<?phpclass Cls1 {}class Cls2 {
public function __toString() {
return 'Cls2';
}
}echo "111"; // '111'//數(shù)字類型轉(zhuǎn)成stringecho 111; // '111'//輸出bool類型true被轉(zhuǎn)成'1' , false轉(zhuǎn)成''echo true ;
// '1'echo false; // ''
//輸出對(duì)象,嘗試調(diào)用對(duì)象__toString方法將對(duì)象序列化echo (new Cls1);
// error: class Cls1 could not be converted to stringecho (new Cls2);
// 'Cls2'
//輸出輸出多個(gè)變量(非字符串類型會(huì)被嘗試轉(zhuǎn)成字符串)echo 22, "11", new Cls2;
// '2211Cls2'
2. printprint 屬于語(yǔ)法結(jié)構(gòu),而非函數(shù) (同echo)
print 一次只能接受一個(gè)字符串(區(qū)分與echo)
其他效果同echo
使用<?phpprint 'hello world';
3. print_r()用于 打印關(guān)于變量的易于理解的信息。(不包括變量類型信息)
對(duì)于對(duì)象, 打印所有屬性(public, protected, private)
一次僅允許打印一個(gè)變量(區(qū)別于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一個(gè)或多個(gè)表達(dá)式的結(jié)構(gòu)信息 (print_r只打印一個(gè)表達(dá)式)
輸出包括 類型 與值(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(): 用于格式化輸出的場(chǎng)景
sprintf() 用于格式化字符串場(chǎng)景, 較printf()區(qū)別在于,前者直接輸出到標(biāo)準(zhǔn)輸出, 后者字符串以變量形式返回
使用<?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
最佳實(shí)踐 (服務(wù)調(diào)試)不使用print, 可用echo 替代
由于echo只能輸出簡(jiǎn)單的字符串,需要了解變量詳細(xì)信息不用echo, 建議使用print_r(), var_dump() (個(gè)人更偏愛(ài)var_dump)
調(diào)試信息輸出到瀏覽器, 嘗試添加 echo '
'; 產(chǎn)生更友好的信息顯示4142
43
44
45
46
4. var_dump一個(gè)或多個(gè)表達(dá)式的結(jié)構(gòu)信息 (print_r只打印一個(gè)表達(dá)式)
輸出包括 類型 與值(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)
*/
相關(guān)推薦:
總結(jié)
以上是生活随笔為你收集整理的php 函数 打印,php打印函数入门教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php-fpm和php,phpcgi和p
- 下一篇: php declare 作用,php d