if ((!in_array("9", $settingid)) || ($username1 == $username2) && ($username_viewed_by_other2 != "-view-by-other-people")) { //start function }
现在出现警告消息,因为尚未设置$ username1。
我无法使用if(isset($username1)){ //start function }
,因为在未设置$ username1时需要执行此功能,如何解决此冲突情况?
答案 0 :(得分: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);
这仍然会显示所有其他错误,但会隐藏诸如“未定义变量”之类的通知。
答案 1 :(得分:0)
尝试将@
添加到变量或使用empty
函数而不是isset
。
答案 2 :(得分:0)
只需使用not运算符
if(!isset($username1)) { /*do function*/ }
此if语句基本上询问是否未设置变量。