我需要做的是这个
if (isset($message))
{
$message = $message . $new_message;
}
else
{
$message = $new_message;
}
是否有一种简单的方法可以执行此操作而不使用if
?
我试过
$message .= $new_message;
但是如果未设置$message
,我会收到严重性通知Undefined property
我需要这样做的原因是我在视图中显示带有$message
的错误/消息,如果我只是$message = $new_message;
旧的错误/消息消失了。
感谢任何帮助/方法。
答案 0 :(得分:4)
您可以使用ternary operator:
$message = isset($message) ? $message.$new_message : $new_message;
答案 1 :(得分:4)
没有某种条件语句,PHP中没有办法做到这一点。我认为if / else是可读的,但如果你想要更简洁的东西,你可以尝试这样的三元运算符:
$message = isset($message) ? $message . $new_message : $new_message;
答案 2 :(得分:3)
使用三元? :
运算符的简单方法: -
$message = (isset($message) && $message!='') ? $message.$new_message : $new_message;
注意: - 你可以删除空检查条件,但是为了你的改善。
答案 3 :(得分:3)
条件语句(问题中的内容或其他答案中显示的三元运算符)是正确的方法。
但是,在这种情况下,您可能只想告诉PHP忽略警告,而不是抛弃它。您可以使用@
符号实现此目的:
@$message .= $new_message;
这不是最佳做法,但我相信最好知道它的完整性。根据您的要求,上述代码段不会发出任何错误或警告。