PHP中echo(),print(),print_r()的区别及打印函数

时间:2022-10-25 11:52:09

echo(),print(),print_r()的区别

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_r("\$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 ("$.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。
数据库的表字段和类属性的 sqlmap文件4.然后新建src\main\

打印函数

1 echo()

  可以同时输出多个字符串,可以多个参数,并不需要圆括号,无返回值。

2 print()

  只可以同时输出一个字符串,一个参数,需要圆括号,有返回值,当其执行失败时返flase .print  的用法和C语言很像,所以会对输出内容里的%做特殊解释。

3 die();

   有两个功能:先输出内容,然后退出程序。(常用在链接服务器,数据库)
   mysql_connect("locahost","root","root") or die("链接服务器失败!");

4 printf();

   printf("参数1",参数2):参数1=按什么格式输出;参数2=输出的变量。($s:按字符串;$d:按整型;$b:按二进制;$x:按16进制;$o:按八进制; $f:按浮点型)
   <?php
     $num=100.001;
     printf("%d",$num);  //100
     printf("%s",$num);  //100.001
     printf("%s---%d---%b---%x---%o---%f",$num,$num,$num,$num,$num,$num)
     //100.001---100---1100100---64---144---1001.00100
     printf("%.2f",$num);  //100.00 (小数点保留2位)
     printf("%.1f",$num);  //100.0 (小数点保留1位)
     printf("%`#10s",$num); //###100.001
     printf("%`@10s",$num); //@@@100.001
     printf("%`_10s",$num); //___100.001
     printf("%`#-10s",$num); //100.001###
     printf("%`@-10s",$num); //100.001@@@
     printf("%`_-10s",$num); //100.001___
     printf("%`#20s",$num); //#############100.001
   ?>

5 sprintf();
   此并不能直接输出,先赋给一个变量,然后再输出变量。
   <?php
     $num=100.001;
     $a=sprintf("%d",$num);
     echo $a;  //100
    ?>

6 print_r();
   功能:只用于输出数组。

7 var_dump();  --取得变量的详细信息
   功能: 输出变量的内容,类型或字符串的内容,类型,长度。常用来调试。
   <?php
     $a=100;
      var_dump($a);  //int(3) 100
   ?>
 

---------------


功能介绍,需要几个参数,每个参数的类型,那些参数是必需的,那些参数是可选的,返回值,返回值的类型
include
require
echo()
其中上面三个可以使用带括号的形式,也可以不使用带括号的形式,如:include() include""
但要注意的是:
<?php
echo("hello");
?>
输出结果是hello
<?php
echo"aaa",10,"bbb";
?>
输出结果:aaa10bbb
<?php
echo("aaa",10,"bbb");
?>
输出结果错误
......................................................................................................................................................................................
print()
可以输出一个参数带括号和不带括号的,不能输出多个参数,有返回值1,0
<?php
if(!print("hello php"))
{
echo"输出不成功";
}
运行结果 hello php
..............................................................................................................................................
die()
die输出其中的内容并退出程序
输出时带括号且只能带一个参数,我们只能这样来写如:
<?php
die("###");
?>
运行结果###
.........................................................................................................
sprintf()
函数:sprintf()     --将字符串格式化。 
    语法: string sprintf(string format, mixed [args]...); 
    返回值: 字符串 
    本函数用来将字符串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。
    转换说明的类型码如下:
b         整数转成二进位。 
c         整数转成对应的 ASCII 字符。 
d         整数转成十进位。 
f         单倍精确度数字转成浮点数。 
o         整数转成八进位。 
s         转成字符串。 
x         整数转成小写十六进位。 
X         整数转成大写十六进位。
..............................................................................................................................................
printf()
函数:printf( ) 
    输出格式化字符串。 
    语法: int printf(string format, mixed [args]...); 
    返回值: 整数 
    本函数依参数 format 指定的内容格式将字符串格式化,同sprintf()。

<?php
      printf("1...the character value of %d is %c",72,72)
      printf("2...control the number of decimal in %f with %.2f",5.1234,5.1234);
      printf("3...we can also left-pad number with zeros: %05f",33.22);
    printf("4...or we can left-pad number and special precision : %5.2f",33.22);
    printf("5...the hexadecimal representation of %d is %x",92,92);
    printf("6...but you can also write it as %X",92);
    printf("7...and if you were wondering, its octal representation is %o",92);
    printf("8...left-pad the string %s with dashes, like so: %'*6s",'foo','bar');
    printf("9...and now let's right-pad it with dashes: %'*-6s",'foo','bar');
    ?>
......................................................................................................................

6 print_r();
   功能:遍历并输出数组的值。
<?php
$arr=array(1,2,3,4);
print_r($arr);
?>
输出结果为
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) 
................................................................................................................................................
7 var_dump();
   功能: 输出变量的内容,类型或字符串的内容,类型,长度。能迅速了解一个变量。
   <?php
     $a=100;
      var_dump($a);  //int(3) 100
   ?>
输出结果:int(3)100