Tutorial zum Einstieg in die PHP-Druckfunktion

小云云
Freigeben: 2023-03-20 16:26:02
Original
2102 Leute haben es durchsucht

关于php打印函数我们需要了解php打印函数种类,简单实用以及功能区别,总结各个打印函数的实用场景以及相关最佳实践。

函数介绍

1. echo

  • echo用于输出一个或者多个字符串, 不换行

  • 如果输出对象非字符串,会尝试将对象转成字符串, 转化失败则抛出异常

  • echo属于语法结构,而非函数

  • 使用

<?phpclass Cls1 {}class Cls2 {
    public function  __toString() {
        return &#39;Cls2&#39;;
    }
}echo "111"; // &#39;111&#39;//数字类型转成stringecho 111; // &#39;111&#39;//输出bool类型true被转成&#39;1&#39; , false转成&#39;&#39;echo true ; 
 // &#39;1&#39;echo false; // &#39;&#39;
 //输出对象,尝试调用对象__toString方法将对象序列化echo (new Cls1);  
 // error: class Cls1 could not be converted to stringecho (new Cls2); 
 // &#39;Cls2&#39;
 //输出输出多个变量(非字符串类型会被尝试转成字符串)echo 22, "11", new Cls2; 
 //  &#39;2211Cls2&#39;
Nach dem Login kopieren

2. print

  • print 属于语法结构,而非函数 (同echo)

  • print 一次只能接受一个字符串(区分与echo)

  • 其他效果同echo

  • 使用

<?phpprint &#39;hello world&#39;;
Nach dem Login kopieren

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</span> = [<span class="hljs-string">'1'</span> =&gt; <span class="hljs-number">1</span>, <span class="hljs-string">"3"</span>, <span class="hljs-number">5</span>, <span class="hljs-variable">$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
)
*/
Nach dem Login kopieren

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</span> = [<span class="hljs-string">'1'</span> =&gt; <span class="hljs-number">1</span>, <span class="hljs-string">"3"</span>, <span class="hljs-number">5</span>, <span class="hljs-variable">$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</span>, <span class="hljs-variable">$n, $b</span>, <span class="hljs-variable">$f);/*string(3) "111"int(1)bool(false)float(1.1222)
*/
Nach dem Login kopieren
Nach dem Login kopieren

5. 其他

  • printf(): 用于格式化输出的场景

  • sprintf()  用于格式化字符串场景, 较printf()区别在于,前者直接输出到标准输出, 后者字符串以变量形式返回

  • 使用

<?php$n = 11;$s = "22";$f = "22";printf("%d%s%f", $n</span>, <span class="hljs-variable">$s, $f); // 112222.000000$s2</span> = <span class="hljs-keyword">sprintf</span>(<span class="hljs-string">"<span class="hljs-variable">%d</span><span class="hljs-variable">%s</span><span class="hljs-variable">%f</span>"</span>, <span class="hljs-variable">$n, $s</span>, <span class="hljs-variable">$f);
echo $s2; // 112222.000000
Nach dem Login kopieren

最佳实践 (服务调试)

  1. 不使用print, 可用echo 替代

  2. 由于echo只能输出简单的字符串,需要了解变量详细信息不用echo, 建议使用print_r(), var_dump() (个人更偏爱var_dump)

  3. 调试信息输出到浏览器, 尝试添加 echo '

    ';  产生更友好的信息显示

  • 41

  • 42

  • 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</span> = [<span class="hljs-string">'1'</span> =&gt; <span class="hljs-number">1</span>, <span class="hljs-string">"3"</span>, <span class="hljs-number">5</span>, <span class="hljs-variable">$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</span>, <span class="hljs-variable">$n, $b</span>, <span class="hljs-variable">$f);/*string(3) "111"int(1)bool(false)float(1.1222)
*/
Nach dem Login kopieren
Nach dem Login kopieren

相关推荐:

PHP 打印函数之 print print_r

PHP打印函数的种类总结_PHP教程

PHP打印函数的种类总结

Das obige ist der detaillierte Inhalt vonTutorial zum Einstieg in die PHP-Druckfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!