有没有更好的方法用PHP输出数据到html页面?
如果我想用php中的一些var创建一个div,我会写类似的东西
print ('<div>'.$var.'</div>');
或
echo "'<div>'.$var.'</div>'";
这样做的正确方法是什么?
或者更好的方法,填写$tempvar
并打印一次?那样:
$tempvar = '<div>'.$var.'</div>'
print ($tempvar);
事实上,在现实生活中,var将会充满更多!
答案 0 :(得分:29)
PHP中echo
和print
之间存在2个差异:
print
返回一个值。它总是返回1.
echo
可以使用逗号分隔的参数列表进行输出。
始终返回1似乎并不特别有用。并且可以使用多个调用或字符串连接来模拟以逗号分隔的参数列表。所以echo
和print
之间的选择几乎归结为风格。我见过的大多数PHP代码都使用echo
。
printf()
是c printf()
的直接模拟。如果您对这个习惯感到满意,可以使用printf()
。但是,年轻一代的很多人发现printf()
的特殊字符语法比同等的echo
代码更不易读。
echo
,print
和printf
之间的性能可能存在差异,但我不会因为数据库驱动的Web应用程序(PHP的典型域名)而过于依赖它们),打印到客户端的字符串几乎肯定不是你的瓶颈。最重要的是,3个中的任何一个都将完成工作,而另一个并不比另一个好。这只是一种风格问题。
答案 1 :(得分:7)
$var = "hello";
echo "Some Text $var some other text";
// output:
// Some Text hello some other text
或
print("Some Text $var some other text");
// output:
// Some Text hello some other text
没有太大的区别。这仅适用于双引号。单引号却没有。例如:
$var = "hello";
echo 'Some Text $var some other text'; // Note the single quotes!
// output:
// Some Text $var some other text
或
print('Some Text $var some other text'); // Note the single quotes!
// output:
// Some Text $var some other text
答案 2 :(得分:2)
试试这个你会喜欢格式正确的信息量:
<?php
echo '<pre>';
var_dump($your_var);
echo '</pre>';
?>
好的,我解释一下:设置一个“代码”html格式,var_dump显示变量的值,类型,参数....
答案 3 :(得分:1)
<div><? print($var); ?></div>
或者,如果您没有打开短标签,则可能需要
<div><?php print($var); ?></div>
如果您启用了short_open_tag选项,则可以执行
<?=$var?>
但是有些人觉得很乱。
答案 4 :(得分:1)
您还可以使用以下语法:
echo <<<ENDOFTEXT
<div>
$var
</div>
ENDOFTEXT;
确保ENDOFTEXT 没有缩进。
答案 5 :(得分:0)
你可以这样做:
<div><?php echo $var; ?></div>
关于PHP的一个好处是你可以将它插入到常规HTML中,并轻松完成上述操作。我总是在PHP中使用echo。不确定它是否是“正确的”方式,但它是最简单的方法。
答案 6 :(得分:0)
虽然echo
和print
几乎相等,但您使用的是不同的值。您的第一个值将导致
<div><value of $var
><div>
而第二个将导致
'<div>'.<value of $var
>.'<div>'
但其余部分在语义上几乎相同。由于echo
和print
不是真正的函数,而是特殊的语言结构,因此第一个示例中的括号只是包装单个字符串值而不是参数列表。
另请参阅https://stackoverflow.com/questions/1462581#1462636和https://stackoverflow.com/questions/1163473#1163793。
答案 7 :(得分:0)
我已经读过某个地方,回声打印速度更快。但它的性能提升太小了。