doue1925 2015-06-08 17:37
浏览 16
已采纳

为什么打印和回声在“for”循环中表现不同[重复]

This question already has an answer here:

If I use print in this code:

<?php
for($i = 1; $i <= 3; print $i . "
") {
  $i++; 
}   
?>

I see as output this:

2

3

4

But when I use echo the code doesn't work:

<?php
for($i = 1; $i <= 3; echo $i . "
") {
  $i++; 
}   
?>

I see this error:

PHP Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ')' in /media/datos/xampp/htdocs/temp/1.php on line 3

My question is:

  • Why can I use print as a third expression in a for loop, but cannot when using echo and why do they behave differently from each other?

References:

</div>
  • 写回答

1条回答 默认 最新

  • doulun1939 2015-06-08 18:14
    关注

    Expression. print() behaves like a function in that you can do: $ret = print "Hello World"; And $ret will be 1. That means that print can be used as part of a more complex expression where echo cannot. An example from the PHP Manual:

    $b ? print "true" : print "false";
    

    Some part of my answer are part of below answer. I think this is the answer of your question. Most important part is print() behaves like a function

    see this answer: https://stackoverflow.com/a/234255/1848929

    What about echo:

    Note: Because this is a language construct and not a function, it cannot be called using variable functions.

    see notes part on this page: http://us2.php.net/manual/en/function.echo.php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.