2017-05-11 3 views
0

チェーンの最後の値を返す方法はありますか?私はこれがJavascriptであることができますが、PHPは単にブール値を返すようだ。とチェーンの最後の値を返す

など。

$message = ($error && "First error") || ($error1 && "Second error"); 

$メッセージは「最初のエラー」ではなく1になります。 $error = true;

var error = true; 
 
var error1 = true; 
 

 
var message = (error && "First") || (error1 && "Second"); 
 

 
alert(message); 
 

 
error = false; 
 

 
message = (error && "First") || (error1 && "Second"); 
 

 
alert(message);

+1

あなたの質問は本当に明確ではありません。 PHPでやりたいことのjavascriptコードを投稿できますか? –

+0

@MikeBovenlanderが –

+0

に更新されました。申し訳ありませんが、私は混乱しています。または、最初のものが真実であっても、秒だけ戻ってほしいですか? –

答えて

-1

と仮定するとXOR (0 XOR 1)を使用しようとする|| (0 XOR 1)== 1 || 1 == 1

+0

私が言っていることを確認してください。私はjavascriptの例を含んでいます。 –

+0

あなたの答えはかなり曖昧です。コードサンプルを含める方が良いです。参照:[どのように私は良い答えを書くのですか?](http://stackoverflow.com/help/how-to-answer) –

2

条件に3項演算子を使用できます。

<?php 
    $error1 = true; 
    $message = $error ? "First error" : ($error1 ? "Second error" : ""); 
    echo $message; 
?> 

ライブDEMO1:https://eval.in/792139

ライブDEMO2:https://eval.in/792134

+0

ええ、それでも冗長な感じがします。まだ+1を助けて –

+0

@ A.Lau私はそれを行うためにいくつかの他の方法を考えてみましたが、リシの解決策は最高のようです。 –

0

ただ好奇心から、私が正しくあなたを理解しないと仮定すると - 何これを行うと間違っているのですか?

$error1 = true; 
$error = true; 
if($error) { 
    echo "first message"; 
} 
if($error1) { 
    echo "second message"; 
} 
+0

私はもう一方を返します。基本的にはリシの答えに似ていますが、javascriptメソッドを使うと簡単で簡単です。スニペットを実行するだけで何を意味するのかを知ることができます。いずれかの条件が満たされた場合、条件を満たす最初の条件は最後の値が保存されます。エラー文字列 –

関連する問題