Nasıl PHP farklı yankı ve baskı vardır?

6 Cevap php

Possible Duplicate:
Reference: Comparing PHP's print and echo

PHP bu iki fonksiyon arasında herhangi bir önemli ve temel bir fark var mı?

6 Cevap

İlk ve en önemli fark olurdu ..

The print is not a language construct whereas an echo statement is !

From: http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

  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.

  1. 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() sadece bir parametre alabilir:

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

Bunlar:

  • eko birden fazla parametreye sahip olurken sadece baskı, bir parametre alır.
  • Baskı bir değer (1) verir, bu nedenle bir fonksiyonu olarak kullanılabilir.
  • echo biraz daha hızlıdır.

PHP.net manuel anlaşılacağı gibi, this discussion bir okuma almak.

Bir önemli fark, echo çıkışı için birden fazla parametre alabilir olmasıdır. Örneğin:

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

Eğer bir çıkış ifadesinin sonucunu değerlendirmek için arıyorsanız (aşağıda) kullanın print. Eğer değilse, kullanımı echo.

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

PHP manuel baskı ve yankı bağlantı için sayfalar this document.

, Yukarıdaki cevapları eklemek için baskı sadece bir parametre alabilir iken, birden çok değer Birleştirme için izin verecek, yani:

$ = 5 saymak;

"Bu" yazdırın. $ Saymak. "Değerler". $ / 5 saymak. "Parametre";

Bu parametre 1 5 değerindedir

I print () echo daha yavaş olduğunu düşünüyorum.

Ben sadece böyle durumlar için print () kullanmak ister:

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