PHP 警告消息 未定义的变量


php warning message Undefined variable

if ((!in_array("9", $settingid)) || ($username1 == $username2) && ($username_viewed_by_other2 != "-view-by-other-people")) { //start function }

现在出现警告消息,因为尚未设置$username 1。

我无法使用if(isset($username1)){ //start function }因为该功能需要在未设置$username 1时执行,如何解决此冲突情况?

在这种情况下,您可以在这里做很多事情。

最直接的方法是定义变量(如果尚未设置(:

if (!isset($username1)) $username1 = '';
if ((!in_array("9", $settingid)) || ($username1 == $username2) && ($username_viewed_by_other2 != "-view-by-other-people")) {
//start function
}

另一种可能是在使用之前进行验证:

if ((!in_array("9", $settingid)) || (isset($username1) && ($username1 == $username2)) && ($username_viewed_by_other2 != "-view-by-other-people")) {
//start function
}

如果不声明变量是"需要"做的事情(我非常怀疑并建议反对(,您可以通过以下方式在 PHP 中关闭这些通知:

error_reporting(E_ALL ^ E_NOTICE);

这仍将显示所有其他错误,但会隐藏诸如"未定义的变量"之类的通知。

只需使用 not 运算符

if(!isset($username1)) { /*do function*/ }

这个 if 语句基本上询问是否未设置变量。

尝试将@添加到变量或使用empty函数而不是isset