2013-03-20 53 views
0

由于问题说我需要验证多维数组,所以你知道这是我第一次真正使用数组,所以它可能是一个非常糟糕的脚本,但它的工作原理,这就是我在时刻。好吧,所以它的工作我有两个会话显示在这个数组中,当我删除其中一个会话,我得到这个错误验证多维数组

“注意:未定义的索引:弹出在C:\ inetpub \ wwwroot \ dropdown \ test.php在线30“

我想我知道如何解决它,但我实际上并不知道如何实现它。这是我通过后什么IM

$myarray (

IF isset session cityname 

add the value to my array 

ELSE 

add a blank value in its place (or just remove it from the array altogether) 

IF isset session pop 

add the value to my array 

ELSE 

add a blank value in its place (or just remove it from the array altogether) 

echo myarray 

请注意城市名说话是必需的,而流行音乐是不是

这基本上就是我想实现,但我没有丝毫如何真正去这样做它,这是我当前的代码

if(isset($_SESSION['cityname'])){ 
     $myarray = array(array($_SESSION['cityname']), 
         array($_SESSION['pop']) 
         ); 
     foreach($myarray as $key=>$value){ 
      echo $myarray[$key][0]; 
     } 

任何帮助非常感谢,我失去了很多发到这个问题在过去几周的!

+0

其实你看到通知不担心,因为编译器仍然贯穿你的程序。如果你试图访问一个不存在的键,像这样:$ value = $ array ['notExistingIndex'];那么你只会在你的'$ value'中有空。 – ITroubs 2013-03-20 14:01:25

+0

@ITROTBS *任何*通知或警告是担心!永远不要留下通知! – deceze 2013-03-20 14:03:46

+0

感谢您的回复iTroubles是它仍然运行脚本的其余部分,但我宁愿有0错误它更专业,只是良好的做法 – jphillip724 2013-03-20 14:05:45

回答

1

该通知告诉您,您正在使用从未设置过的​​。 事实上,在您的代码中,您只是检查了$_SESSION['cityname'],但随后将​​添加到了您的阵列中。

编辑 如果你想​​是可选的,你想摆脱该通知的,只是检查是否​​设置与否:

if(isset($_SESSION['cityname'])){ 
    $myarray = array(array($_SESSION['cityname'])); 
    if(isset($_SESSION['pop'])) { $myarray[] = array($_SESSION['pop']); } 
    foreach($myarray as $key=>$value){ 
     echo $myarray[$key][0]; 
    } 
+0

谢谢对于答复,是的,这是真的,我指定cityname是必需的,而pop是可选的,如果cityname不在那里,他们会看到其他的东西,但是脚本可以在没有弹出的情况下继续下去,我试图通过使用我试图描述上面的方法,但不知道如何去实际去做。 – jphillip724 2013-03-20 14:31:46

+0

谢谢你,那正是我所需要的大坝它与我所拥有的一样,但是我没有[myarray]之后的[],谢谢你的帮助 – jphillip724 2013-03-20 14:38:00