首页 文章

如何在PHP中回显和打印不同? [重复]

提问于
浏览
205

可能重复:参考:比较PHP的print和echo

PHP中这两个函数之间是否有任何重大和根本的区别?

5 回答

  • 6

    来自:http://web.archive.org/web/20090221144611/http://faqts.com/knowledge_base/view.phtml/aid/1/fid/40

    • 速度 . 两者之间存在差异,但在速度方面,它应与您使用的哪一个无关 . 如果你真的想要深入了解细节,那么回声会稍快一些,因为它没有设置返回值 .

    • 表达 . print() 表现得像一个函数,你可以这样做: $ret = print "Hello World" ; $ret1 . 这意味着print可以用作echo不能表达的更复杂表达式的一部分 . PHP手册中的一个例子:

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

    如果要在复杂表达式中使用print,它也是优先级表的一部分 . 它只是在优先列表的底部 . 只有“,”AND,OR和XOR较低 .

    • 参数 . 语法是: echo expression [, expression[, expression] ... ]echo ( expression, expression ) 无效 . 这是有效的: echo ("howdy"),("partner") ;相同: echo "howdy","partner" ; (将括号放在这个简单的例子中是没有用的,因为没有像这样的单个术语的运算符优先级问题 . )

    因此,没有括号的echo可以采用多个参数,这些参数会被连接起来:

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

    print() 只能带一个参数:

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

    他们是:

    • print只接受一个参数,而echo可以有多个参数 .

    • print返回值(1),因此可以用作表达式 .

    • 回声稍快 .

  • 9

    要添加上面的答案,虽然print只能接受一个参数,但它允许连接多个值,即:

    $count = 5;
    
    print "This is " . $count . " values in " . $count/5 . " parameter";
    

    这是1个参数中的5个值

  • 275

    正如PHP.net手册所示,请阅读this discussion .

    一个主要区别是 echo 可以输出多个参数 . 例如 . :

    echo 'foo', 'bar';   // Concatenates the 2 strings
    print('foo', 'bar'); // Fatal error
    

    如果您要评估输出语句的结果(如下所示),请使用 print . 如果没有,请使用 echo .

    $res = print('test');
    var_dump($res); //bool(true)
    
  • 6

    我认为 print()echo 慢 .

    我喜欢只在以下情况下使用 print()

    echo 'Doing some stuff... ';
     foo() and print("ok.\n") or print("error: " . getError() . ".\n");
    

相关问题