php警告消息未定义的变量

时间:2012-07-13 19:23:27

标签: php

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

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

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

3 个答案:

答案 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语句基本上询问是否未设置变量。