PHP多维数组未设置

Posted

技术标签:

【中文标题】PHP多维数组未设置【英文标题】:PHP multidimensional array unset 【发布时间】:2015-02-17 18:55:30 【问题描述】:

我有一个结构的多维数组:

$_SESSION['array'] = array(1=>array("surname"=>"foofoo", "name"=>"foo"),2=> .... so on);

如果姓氏与给定变量匹配,我想删除一个条目,例如

$surname = "foofoo";

如果找到 $surname,该函数应该搜索整个数组,删除该数组

我尝试查看一些答案,例如here 和here 给出的答案,但我无法清楚地理解它们,有人可以展示一个清晰的方法以及一些很好的解释,如果可能的话,可以链接到一些文档以供阅读?

【问题讨论】:

那么如果surname 等于foofoo 你想删除整个数组还是只删除这个元素? @Rizier 包含元素的整个数组,在给定的示例中,它应该删除索引为“1”的数组 【参考方案1】:

这应该适合你:

(在这段代码中,我遍历每个 innerArray 以及来自 innerArray 的每个值和键。然后我简单地检查它是否是具有正确值的正确键。如果条件为真,我取消设置整个数组)

<?php

    $_SESSION['array']= array(1=>array("surname"=>"foofoo", "name"=>"foo"), 2=>array("surname"=>"foofoo2", "name"=>"foo2"));

    foreach($_SESSION['array']as $innerArrayKey => $innerArray) 

        foreach($innerArray as $k => $v) 
            if($k == "surname" && $v == "foofoo")
                unset($_SESSION['array'][$innerArrayKey]);
        

    

    print_r($array);

?>

输出:

Array ( [2] => Array ( [surname] => foofoo2 [name] => foo2 ) )

【讨论】:

非常感谢,我马上就明白了!

以上是关于PHP多维数组未设置的主要内容,如果未能解决你的问题,请参考以下文章

php 多维数组排序[未显示固定菜单选项]

PHP:使用 foreach 从多维数组中删除元素(按键)

PHP单选按钮,多维数组

php 多个多维数组求交集

php中多维数组的问题

php计算多维数组某个值的和