3項演算子でechoを使うとエラーになる

 3項演算子でechoを使うとエラーになります。以下に例を示します。

<?php
$a = 80;

// 60点以上は合格
$a > 60 ? echo "合格" : echo "不合格";
?>

○実行結果
Parse error: syntax error, unexpected T_ECHO…

 3項演算子では、戻り値を持たないechoの代わりに、戻り値を持つ「print」を使う必要があります。printは関数ではありませんが、戻り値として常に1を返します。

<?php
$a = 80;

// 60点以上は合格
$a > 60 ? print "合格" : print "不合格";
?>

○実行結果
合格

PHPの基礎が身に付いたかチェックするなら

PHP「直す力」養成ドリル
スポンサーリンク