将新字符串添加到变量

时间:2015-05-09 02:07:15

标签: php

我需要做的是这个

if (isset($message))
{
    $message = $message . $new_message;
}
else
{
    $message = $new_message;
}

是否有一种简单的方法可以执行此操作而不使用if

我试过

$message .= $new_message;

但是如果未设置$message,我会收到严重性通知Undefined property

我需要这样做的原因是我在视图中显示带有$message的错误/消息,如果我只是$message = $new_message;旧的错误/消息消失了。

感谢任何帮助/方法。

4 个答案:

答案 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;

这不是最佳做法,但我相信最好知道它的完整性。根据您的要求,上述代码段不会发出任何错误或警告。