设为首页 收藏本站
查看: 944|回复: 0

[经验分享] PHP中echo(),print(),print_r()的区别

[复制链接]

尚未签到

发表于 2018-12-21 07:11:36 | 显示全部楼层 |阅读模式
  echo ,print的区别在于echo 可以输出多个变量值,而print只有一个变量,做为一个字符串输出. 另一点区别在于echo 没有返回值,print有返回值1.print不能输出数组和对象。
  print_r可以输出stirng、int、float、array、object等,输出array时会用结构表示,print_r输出成功时返回true;而且print_r可以通过print_r($str,true)来使print_r不输出而返回 print_r处理后的值。
  可以理解为:
  print 是打印字符串
  print_r 则是打印复合类型 如数组 对象等
  在PHP中的执行速率从快到慢为:echo(),   print(),   print_r()
  echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
  print()    只能打印出简单类型变量的值(如int,string)
  print_r() 可以打印出复杂类型变量的值(如数组,对象)
  echo     输出一个或者多个字符串
  echo -- 输出一个或者多个字符串
  Descrīption
  void echo ( string arg1 [, string ...] ) //返回值为空
  echo "你好"," 朋友";
  print --输出一个字符串
  Descrīption
  int print ( string arg )//返回值为整形
  print "你好朋友";
  可以进行下面操作
  $name=print "nihao \n";
  $str = 'test print value is $name .';
  eval("\$print=\"$str\";");
  echo $print;
  print_r -- 打印关于变量的易于理解的信息。
  bool print_r ( mixed expression [, bool return] ) //返回值是布尔型的,参数是mix类型的,可以是字符串,整形,数组,对象类print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
  print_r() 将把数组的指针移到最后边。
  你可以
  print_r(str);
  print_r(int);
  print_r(array);
  print_r(obj);
  也 可以用var_dump, var_export
  echo()
  可以同时输出多个字符串,可以多个参数,并不需要圆括号,无返回值。
  print()
  只可以同时输出一个字符串,一个参数,需要圆括号,有返回值,当其执行失败时返false .    print 的用法和C语言很像,所以会对输出内容里的%做特殊解释
  $a=print('hi');
  echo $a;
  //----------------------------
  hi 1   //1是$a的值。
  //-----------------------------
  die();   // 和exit()区别。
  有两个功能:先输出内容,然后退出程序。(常用在链接服务器,数据库)
  mysql_connect("locahost","root","root") or die("链接服务器失败!");
  printf();    //f指format格式化
  printf("参数1",参数2):参数1=按什么格式输出;参数2=输出的变量。(%s:按字符串;%d: 按整型;%b:按二进制;%x:按16进制;%X:按16进制 大写输出;%o:按八进制; %f:按浮点型)
  对于参数1,其格式如下:
  %[ 'padding_character][-][width][.precision]type
  说明:
  所有转换都以%开头,如果想打印一个%,则必须用“%%”;
  参数padding_character是可选的,用来填充变量直至指定的宽度,如:printf ("$%'a10.2f" , 43.2); //$aaaaa43.20,默认是填充一个空格,如果指定了一个空格或0就不需要使用“'”做为前缀。对于任何其它前缀则必须指定单引号。
  【-】是可选的,添加它则表明数据应该左对齐。而不是默认的右对齐,如上例加一个-则为:printf ("$%'a-10.2f" , 43.2); //$43.20aaaaa
  whidth 表示在这里为将被替换的变量留下多少空间(按字符计算)。如上例的10(包括小数点).
  precision则必须是一个小数点开始,表示小数位后面要显示的位数。
  函数,返回输出字符个数,把文字格式化以后输出,如:
printf ("$%01.2f" , 43.2); //$43.20  $表示填充的字符
  0表示位数不够在不影响原值的情况下补0
  1表示输出的总宽度
  2表示小数位数,有四舍五入
  %f 是表示显示为一个浮点数
  格式化命令及说明:
  %% 印出百分比符号,不转换。
  %b 整数转成二进位。
  %c 整数转成对应的 ASCII 字符。 如:printf ("$%c" , 65); // 输出:A
  %d 整数转成十进位。 如:printf ("$%d" , 65.53); // 输出:65
  %f 倍精确度数字转成浮点数。
  %o 整数转成八进位。
  %s 整数转成字符串。
  %x 整数转成小写十六进位。
  %X 整数转成大写十六进位
  对于printf(),还可以使用带序号并以$符号结束的参数方式来指定参数转换的顺序。如:
  printf ("the total is $%2$.2f and subtotal: %1$.2f" , 65.55,37.2); //the total is $37.20 and subtotal: 65.55
  如上:%2$.2f指定了使用第二个参数65.55%1$.2f则 指定用第一个参数37.20
  
  sprintf();
  此并不能直接输出,先赋给一个变量,然后再输出变量。
  
  print_r();
  功能:用于输出数组、 对象等。
  $a = array (1, 2, array ("a", "b", "c"));
  print_r ($a);
  返回:
  Array ( [0] => 1 [1] => 2 [2] => Array ( [0] => a [1] => b [2] => c ) )
  var_dump();
  功能: 输出变量的内容,类型或字符串的内容,类型,长度。常用来调试。
  
  var_export ();
  返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法 的 PHP 代码。
  您可以通过将函数的第二个参数设置为 TRUE, 从而返回变量的值。
  
  若变量的值为false,不要用echo输出,用echo  false  是不可见的,一般用print_r()输出。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-653753-1-1.html 上篇帖子: 使用 Xdebug + Webgrind 分析 PHP 程序 下篇帖子: 关于php-fpm子进程设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表