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
。