214。我去试一下。我作弊了,我去看print的函数说明了。
解决方案 »
- 是不是用PHP写个论坛很难?怎么很多网站都用一些论坛产品呢?
- 今天在学CSS时,遇到了一个不理解的问题,查了资料也没找到结果,所以请大家帮忙解释一下
- 关于cookie保存,出现502错误,求解决方法
- 处理类似csdn下载的性能问题【欢迎大家讨论】
- SQLite 安装出现的问题
- update操作有没有类似mysql_insert_id这样的函数?我想取得刚刚被update的ID
- 一个初学者问题
- 由于初学PHP,下面的是如何实现的?
- WEB服务器是如何处理Connection: Keep-Alive的?
- 谁知道哪里可以下载到邮件管理系统的源代码,给个网址好吗?谢谢!
- jquery 向 php 传值
- 提交表单,$_post[XX]获得的数据为乱码
其实也没什么奇怪的
print 实际上不是一个真正的函数(它是一个语言结构),所以你不需要使用括号参数列表。
也就是说 print(2) + 3 实际上是 print 2 + 3
但他却有一个永远为 1 的返回值511 这个5是由 print(2) + 3 产生的
511 这个1是由 echo '1' 产生的
511 这个1是由 print 产生的
<?php
echo '1'.print(2)+3;
echo '<br />';
echo '1'.print(2);
echo '<br />';
echo print(2);
echo '<br />';
echo print(2)+3;
echo '<br />';
$tmp=print(2)+3;
echo $tmp;
echo '<br />';
print(2)+3;
echo '<br />';
print '3';
echo '<br />';
?>
你下手太快了,我刚试出来点感觉。
中 '1'.print(2)+3 这个表达式必须计算完成后,才会传递给 echo
而 print(2)+3 打印 5 并返回 1
于是 5 就出现在最前面了
echo 实际打印的是 '1'.1 即 11