>php教程 >php手册 >php中echo(),print(),print_r()用法

php中echo(),print(),print_r()用法

WBOY
WBOY원래의
2016-06-13 10:04:271244검색

从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但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);

下面我们一个个举例说明一下

四种方法可以输出字符串。 echo

print()

printf()

print_r()
echo
可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。

语法正确: echo "Hello", "World";
语法错误: echo ("Hello", "World");
print()
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。如,

 代码如下 复制代码

if (!print("Hello, World")){

   die("you are not listening to me");

}

printf()
printf()源于C语言中的printf()。该函数输出格式化的字符串。
语法: printf(format,arg1,arg2,arg++)
format   规定字符串以及如何格式化其中的变量;
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
Example: ?php

 代码如下 复制代码

$str = "Hello";

$number = 123;

printf("%s world. Day number %u",$str,$number);

?>
#Results======
Hello world. Day number 123

如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 "$" 组成。请参见例子 3。
Example: ?php

 代码如下 复制代码

$number = 123;

printf("With 2 decimals: %1$.2fbr />With no decimals: %1$u",$number);

?>
#Result
With 2 decimals: 123.00
With no decimals: 123

print_r()和var_dump()
print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。如,

 代码如下 复制代码

$a = array('name' => 'Fred', 'age' => '15', 'wife' => 'Wilma');

print_r($a);
Output: Array

{

   [name] => Fred

    [age] => 15

    [wife] => Wilma

}

对象也一样。如,

 代码如下 复制代码

class P {

  var $name = 'nat';

  // ...

}

$p = new P;

print_r($p);
Output: Object

{

[name] => nat

}

但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"n"。因此用var_dump()函数更适合调试

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.