echo和print 的区别
echo可以同时输出多个字符串,并不需要圆括号;echo更象一条语句;推荐用echo; print只可以同时输出一个字符串,需要圆括号。print 是函数;print的用法和C语言很像,所以会对输出内容里的%做特殊解释;
echo的说明:
echo可以同时输出多个字符串,并不需要圆括号;
echo更象一条语句;
推荐用echo;
<?php
echo '等等,我还没有写完哪。此处接上面的。';
?>
echo() 无返回值,与echo 命令相同 ;
echo可以多个参数,echo无返回值。
print的说明:
print只可以同时输出一个字符串,需要圆括号。
print 是函数 ;
print的用法和C语言很像,所以会对输出内容里的%做特殊解释;
没多大区别,就是一个函数,一个是命令。
print 还可以这样用
<?
print <<<dND
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
</body>
</html>
dND
?>
这样可以输出大段的HTML 而且不用把里面的引号转义 就是不用 \" 这样
自动替换里面的变量
print一个参数, print有,ture,1;false,0。
区别细节:
echo 命令和 print 命令 相同,没有区别 ;
echo 函数 和 print 函数 有区别;
print() 有返回值,当其执行失败(比如断线)时返回flase ;
printf() 和 sprintf() 类似,均为格式化输出,不同的是前者输出到标准输出,后者输出到变量 。
在同一页面中使用<<<标记,标记名为配对出现,同一页面中不允许同名出现两个以上标记名。配对标记名的结尾标记名应单独一行,前后均不允许输出字符...(例如空格等不可见但存在的字符..) 。
形如
echo <<< EOT
EOT;
print <<< EOT
EOT;
的书写格式,其含义如下:
<<< 运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理
EOT 自定义分界符,结束时必须位于行首
=============================
理解print <<<EOT
看下面的例子就能明白php中print <<<EOT是干什么用的了:
代码
print <<<EOT
<html>
<head></head>
<body>
$value;
<img src="$img">
...
</body>
<html>
EOT;
含义:
<<< 运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理;
EOT 自定义分界符,结束时必须位于行首;
在同一页面中使用<<<标记
标记;
注:标记名为配对出现,同一页面中不允许同名出现两个以上标记名;
另:配对标记名的结尾标记名应单独一行,前后均不允许输出字符...(例如空格等不可见但存在的字符..)。
优点:这样可以输出大段的HTML 而且不用把里面的引号转义 就是不用 \" 这样自动替换里面的变量。
PHP EOT的使用
这个是PHP的一个代码分界符。
意思是众这里开始输出以下的PHP代码。
<<< 表示整块字符串的开始,如果是PHP的话... 然后用标记符结束
例:
<?php
while($rs=$db->fetch_array($news)){
echo<<<EOT
<li>
<ahref="http://blog.163.com/023_dns/blog/?{$rs[id]}">{$rs[title]}</a><imgsrc="http://blog.163.com/023_dns/blog/p_w_picpaths/new.gif"alt=""><span>[{$rs[date]}]</span></li>
EOT;//留意,此处的EOT;必须在当前行的最前,其前面不答应有任何字符
?>
从上面的例子可以看出<<<eot为开始标识,结束为eot;中间引用变量则就为{变量}这种方法通常用在天生静态度页面时,可以把此代码写在静态文件中,然后然后用来调用即可
定界符
给字符串定界的方法使用定界符语法("<<<")。应该在<<<之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
结束标识符必须从行的第一列开始。同样,标识符也必须遵循PHP中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。
举个例子:
<?php
$str=<<<EOD
Exampleofstring
spanningmultiplelines
usingheredocsyntax.
EOD;
?>
这样可以输出大段的HTML而且不用把里面的引号转义就是不用\"这样自动替换里面的变量。
但要留意的是:
结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表 符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操纵系统中定义的换行符。例如在Macintosh系统中是\r。假如破坏了这条规则使 得结束标识符不"干净",则它不会被视为结束标识符,PHP将继续寻找下往。假如在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。
如下:
print<<<eot
eot;
中间可以放置变量的,假如是数组变量也是可以的。
假如数组
$arrTest=array("abc","123");
在eot之间可以用以下方式置进变量
"{$arrTest[0]}"php中print与echo的区别和用法
html与php编写中echo可以同时输出多个字符串,并不需要圆括号。
print只可以同时输出一个字符串,需要圆括号。
print的用法和C语言很像,所以会对输出内容里的%做特殊解释。
echo无返回值,print()有返回值,当其执行失败(比如断线)时返回flase。
echo可以多个参数,print一个参数。推荐用echo
http://blog.i1728.com/post/110.html
转载于:https://blog.51cto.com/liuyafang/1416001