验证多维数组

时间:2013-03-20 13:55:30

标签: php arrays multidimensional-array

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

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

我想我知道如何解决它但我实际上并不知道如何实现它。这是我在谈论之后的事情

$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

请注意cityname是强制性的,而pop不是

这基本上就是我想要实现的目标,但我没有丝毫如何实际去做,这是我目前的代码

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

任何帮助很多人都很感激我在过去的几个星期里对这个问题失去了很多头发!

1 个答案:

答案 0 :(得分:1)

该通知告诉您,您正在使用从未设置的$_SESSION['pop']。 事实上,在您的代码中,您刚检查了$_SESSION['cityname'],但随后又将$_SESSION['pop']添加到您的数组中。

EDIT 如果您希望$_SESSION['pop']是可选的,并且想要删除该通知,只需检查是否设置了$_SESSION['pop']

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];
    }