Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 验证多维数组_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 验证多维数组

Php 验证多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,正如问题所说,我需要验证一个多维数组,这是我第一次实际使用数组,所以它可能是一个非常糟糕的脚本,但它可以工作,这就是我目前所追求的。好的,它工作了,我在这个数组中显示了两个会话,当我删除其中一个会话时,我得到了这个错误 “注意:未定义的索引:在第30行的C:\inetpub\wwwroot\dropdown\test.php中弹出” 我想我知道如何修复它,但实际上我不知道如何实现它。这是我在谈论我想要的东西 $myarray ( IF isset session cityname add t

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

“注意:未定义的索引:在第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];
        }

非常感谢您的帮助。在过去的几周里,我因为这个问题失去了很多头发

该通知告诉您正在使用从未设置过的
$\u会话['pop']
。 事实上,在您的代码中,您刚刚检查了
$\u SESSION['cityname']
,然后将
$\u SESSION['pop']
添加到数组中

编辑 如果希望
$\u SESSION['pop']
是可选的,并且希望消除该通知,只需检查
$\u 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];
    }

事实上,您看到的通知并不需要担心,因为编译器仍然在您的程序中运行。如果您正试图访问一个不存在的密钥,如
$value=$array['notExistingIndex'];那么你的
$value`中就只有空值了。@ITroubs任何通知或警告都值得担心!永远不要让通知不固定!感谢您的回复iTroubles是的,它仍然运行脚本的其余部分,但我更希望有0个错误它更专业,只是良好的实践这不是一个错误,只是一个通知。因为你想让它在没有通知的情况下运行,你必须检查你的密钥是否存在,如果不只是设置一个你想要的值。我非常喜欢阅读你的评论和deceze发布的链接,我已经修复了错误,但是我在这件事上的两分钱都是错误,通知什么应该被修复,就好像它们是严重的错误,因为最终它们会回来并困扰你,因为这是大学的课程工作,我理想地希望它是无错误的,以帮助提高我的成绩,所以所有人都认为这条通知不是真正严重的通知,修复它符合我的最大利益:)谢谢你的回复,是的,这是真的,我指定cityname是必需的,而pop是可选的。如果cityname不存在,他们将看到其他内容,但脚本可以在没有pop的情况下继续,我试图用我试图在上面描述的方法来修复这个通知,但不知道如何去做。谢谢,伙计,这正是我所需要的。这和我所拥有的是一样的,但我在myarray之后没有[],谢谢你的帮助