diference between return , echo and print keyword in PHP

后端 未结 3 924
北恋
北恋 2021-01-12 19:56

What is the difference between these three?

return , echo and print keyword in PHP

function theBand($abc,$bac) {

return $abc;
echo $abc;

}
<         


        
3条回答
  •  迷失自我
    2021-01-12 20:30

    return is used when a function has to return a value.

    please see HERE

    echo and print are very similar however echo is faster as it does not return a value.

    1. Speed. There is a difference between the two, but speed-wise it should be irrelevant which one you use. echo is marginally faster since it doesn't set a return value if you really want to get down to the nitty gritty.

    2. 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";
      

      print is also part of the precedence table which it needs to be if it is to be used within a complex expression. It is just about at the bottom of the precedence list though. Only ",", AND, OR and XOR are lower.

    3. Parameter(s). The grammar is: echo expression [, expression[, expression] ... ]. But echo ( expression, expression ) is not valid. This would be valid: echo ("howdy"),("partner"); the same as: echo "howdy","partner"; (Putting the brackets in that simple example serves no purpose since there is no operator precedence issue with a single term like that.)

    So, echo without parentheses can take multiple parameters, which get concatenated:

    echo  "and a ", 1, 2, 3;   // comma-separated without parentheses
    echo ("and a 123");        // just one parameter with parentheses
    

    print() can only take one parameter:

    print ("and a 123");
    print  "and a 123";
    

提交回复
热议问题