未定义的索引:存在func isset

时间:2013-11-26 19:53:10

标签: php

收到以下内容:

  

注意:第23行的/Applications/XAMPP/xamppfiles/htdocs/select2/func.php中的未定义索引:func   注意:未定义的索引:第67行的/Applications/XAMPP/xamppfiles/htdocs/select2/func.php中的func   注意:未定义的索引:第114行/Applications/XAMPP/xamppfiles/htdocs/select2/func.php中的func

以下是违规行:

第23行

if($_GET['func'] == "drop_1" && isset($_GET['func'])) { 
drop_1($_GET['drop_var']); 
}

function drop_1($drop_var)
{  

第67行

if($_GET['func'] == "drop_2" && isset($_GET['func'])) { 
drop_2($_GET['drop_var']); 
}

function drop_2($drop_var)
{ 

第114行

if($_GET['func'] == "drop_3" && isset($_GET['func'])) { 
drop_3($_GET['drop_var']); 
}

function drop_3($drop_var)
{  

我查看了现有的问题,并没有找到if语句附加到运算符&&和

的答案。

谢谢,

2 个答案:

答案 0 :(得分:2)

将条件的顺序更改为:

if(isset($_GET['func']) && $_GET['func'] == "drop_1" )

现在,您正在检查是否先使用'func'索引进行设置。

答案 1 :(得分:1)

您的逻辑运算符的顺序是向后的。首先,您需要检查变量是否已设置,然后您需要检查它的值。如果第一次检查是假的,那么第二次检查将永远不会发生,因为短路会阻止您看到的错误消息。

if($_GET['func'] == "drop_1" && isset($_GET['func'])) { 

应该是:

if(isset($_GET['func']) && $_GET['func'] == "drop_1") {