zoukankan      html  css  js  c++  java
  • PHP---各种输出详解

    php输出echo、print、print_r、printf、sprintf、var_dump、dump的区别比较
    1、echo

    echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号。
    不过, echo() 只能传递一个参数,如果写多个参数,那么使用括号会发生解析错误。
    echo是返回void的,并不返回值,所以不能使用它来赋值。

    $a = echo("words"); // 错误!不能用来赋值
    echo "words"; // words
    echo ("words"); // words
    echo ("apple","bear"); //发生错误,有括号不能传递多个参数
    echo "I","LOVE","YOU";  // 不用括号的时候可以用逗号隔开多个值, 会输出 ILOVEYOU 不管是否换行,最终显示都是为一行
    $name="holle";
    echo "$name word"; // 如果 $name = "holle", 则会输出 holle word.
    echo '$name word'; // 由于使用单引号,所以不会输出$name的值,而是输出 $name com
    

    2、print

    print() 和 echo() 用法一样,但是echo速度会比print快一点点。
    实际上它也不是一个函数,因此您无需对其使用括号。
    和echo()一样,print()只能传递一个参数,如果写多个参数,那么使用括号会发生解析错误。
    注意print总是返回1的,这个和echo不一样, 也就是说可以使用print来赋值,不过没有实际意义。

    $a = print("holle word"); // 这个是允许的
    echo $a; // $a的值是1
    

    3、print_r

    print_r函数打印关于变量的易于理解的信息。
    print_r总是返回1的,也就是说可以使用print_r来赋值,不过没有实际意义。
    将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读, 也就是有key和value对应的那种格式。
    print_r有两个参数,第一个是变量,第二个可设为true,如果设 为true,则会返回字符串,否则返回布尔值TRUE。

    $a="holle word";
    $c = print_r($a);
    echo $c;  // $c的值是1
    $d = print_r($a,true);
    echo $d; // $c的值是字符串holle word
    

    4、printf

    printf函数返回一个格式化后的字符串, 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。
    下面是可能的 format 值:

    • %% – 返回百分比符号
    • %b – 二进制数
    • %c – 依照 ASCII 值的字符
    • %d – 带符号十进制数
    • %e – 可续计数法(比如 1.5e+3)
    • %u – 无符号十进制数
    • %f – 浮点数(local settings aware)
    • %F – 浮点数(not local settings aware)
    • %o – 八进制数
    • %s – 字符串
    • %x – 十六进制数(小写字母)
    • %X – 十六进制数(大写字母)
    printf("My name is %s %s。","张", "三"); // My name is 张 三。
    printf("My name is %1$s %1$s","张", "三");// 在s前添加1$或2$.....表示后面的参数显示的位置,此行输出 My name is 张 三 ,因为只显示第一个参数两次。
    printf("My name is %2$s %1$s","张", "三"); // My name is 三 张
    

    拓展:sprintf

    此函数使用方法和printf一样,唯一不同的就是该函数把格式化的字符串写写入一个变量中,而不是输出来。

    sprintf("My name is %1$s %1$s","张", "三");  //你会发现没有任何东西输出的。
    $a  = sprintf("My name is %1$s %2$s","张", "三");
    echo $a;  //输出 My name is 张 三
    

    5、var_dump

    输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。(可以输出任何变量)

  • 相关阅读:
    跳出iframe
    leetcode 225. Implement Stack using Queues
    leetcode 206. Reverse Linked List
    leetcode 205. Isomorphic Strings
    leetcode 203. Remove Linked List Elements
    leetcode 198. House Robber
    leetcode 190. Reverse Bits
    leetcode leetcode 783. Minimum Distance Between BST Nodes
    leetcode 202. Happy Number
    leetcode 389. Find the Difference
  • 原文地址:https://www.cnblogs.com/shx1024/p/11931222.html
Copyright © 2011-2022 走看看