$ A?

5 Cevap php
//In PHP,
$a ? $b : echo $c  //does not work but 
$a ? $b : print $c //works

Bunun bir nedeni var mı?

BTW, PHP not bir anahtar kelime nedir?

5 Cevap

echo is not a function, it's language construct. Bu hiçbir şey geri dönmez. Başka void fonksiyonları her zaman "dönüş" NULL. Derleyici unexpected T_ECHO hata atıyor neden bulunuyor.

printf, ancak bir fonksiyonudur ve her zaman döner 1.

Örneğin bu iş olacak:

function echo2($e)
{
    echo($e);
}

$a ? $b : echo2('foo');

echo bir dönüş değeri yok, print yok!

 void echo  ( string $arg1  [, string $...  ] )

 int print  ( string $arg  )

dan php.net

Üçlü operatör beklediğini beri bu durumda önemli expressions

(expr1) ? (expr2) : (expr3)

echo "something" bir ifade olarak sınıflandırılmış olamaz.

not a PHP keyword değildir.

PHP hiçbir not anahtar kelime var

Echo bir dil oluşumudur ve baskı bir fonksiyonu olduğu için mi?

return value. if you wrote

  $x = $a?$b:echo $c;

$ ne değer x $ üzerinde bir varlık yanlış olsun?

print always returns 1. echo doesn't return anything.