echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print只能打印出简单类型变量的值(如int,string)
print_r可以打印出复杂类型变量的值(如数组,对象)
在drupal中做个试验:
<?php // 配置路径 chdir('/xampp/htdocs/drupal'); define('DRUPAL_ROOT', '/xampp/htdocs/drupal'); // 包含必要的文件 include_once('./includes/bootstrap.inc'); drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE); // 现在就可以使用 db_query(). $result = db_query('SELECT title FROM {node}'); echo '我无法输出数组'.'<br>'; print('只能打印出简单类型变量的值<br>'); print_r($result);
输出结果
echo — 输出一个或者多个字符串
Description
void echo ( string arg1 [, string …] ) //返回值为空
echo "你好"," 朋友";
print –输出一个字符串
Description
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() print_r()之间的区别与详细用法