2016-04-13 9 views
2

私は、PHPでインラインif文を返すときに制限があるようです。期待返すためにインラインifステートメントを使用できないのはなぜですか?

function example($Variable) 
{ 
    ((int) (++$Variable) == 1) ? return true : return false; 
} 

$test = example(1); 

false

これは私が前にこれを見たことがないので、奇妙なエラーが発生します。

エラーの種類:4

メッセージ:あなたはこのようなif文の内部でリターンを使用できない理由構文エラー、予期しない 'リターン'(T_RETURN)

は、誰もが説明できますか?

+7

'リターン((int型)(++ $変数)== 1):

あなたはこのような変数の結果の前にリターンを作ることができますか? true:false; ' –

+1

注:... http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary – Rizier123

+1

あなたはそこに' return'を必要としません。インラインifの前に置く。 –

答えて

8

3者はすでに結果を返します。リターン関数を返すことはできません。

function example($Variable) 
{ 
    return ((int) (++$Variable) == 1) ? true : false; 
} 
$test = example(1); 
+0

ああ、私はそれを気付かなかったと信じられない。これはうまくいきませんでした。感謝 - 私ができるときにマークします! – KDOT

+0

私はその言葉が三面的で、それが存在することを知らなかった。注目される。 @PhiterFernandes – KDOT

+0

ええ、三項式はあなたが*インラインif文*と呼んだものの名前です。 :) – Phiter

関連する問題