Sorun giderme "Beklenmeyen T_ECHO"

4 Cevap php
($DAO->get_num_rows() == 1) ? echo("is") : echo("are");

Bu doz amaçlanan, ben bir hata "Unexpected T_ECHO" olsun benim için çalışıyor gibi görünmüyordu. Ben ya '' veya 'olan' yankı bekliyorum.

Ben koşullu etrafında parantez olmadan denedim. Ben bu şekilde bir üçlü operatörü kullanmak için sadece mümkün değil miyim?

$DAO->get_num_rows() bir tamsayı değeri döndürür.

4 Cevap

Üçlü operatör aynı değilse-o zaman. Bunu yazdım

echo ($DAO->get_num_rows() == 1) ? "is" : "are";

Bu returns the value 2. veya 3. pozisyonunda. Bu 2. veya 3. pozisyonunda execute the statement DEĞİLDİR.

Üçlü operatör bir değer neden olmalı - ve echo.


Here, you probably want this :

echo ($DAO->get_num_rows() == 1) ? "is" : "are";


If you want to use two echo, you'll have to work with an if/else block :

if ($DAO->get_num_rows() == 1) {
    echo "is";
} else {
    echo "are"
}

Üçlü operatörü kullanılarak kodunun ilk kısmı olarak aynı şeyi yapacak olan - bu biraz daha uzun olması dışında.

Üçlü operatör şartları değerlendirdikten sonra iki değerlerinin returns biri. Eğer kullandığınız şekilde kullanılmış olması gerekiyordu değildir.

Bu çalışması gerekir:

echo ($DAO->get_num_rows() == 1 ? "is" : "are");

U kullanabilirsiniz

echo ($ DAO-> get_num_rows () == 1)? "Bir": "edilir";