我有一个结构的多维数组:
$_SESSION['array'] = array(1=>array("surname"=>"foofoo", "name"=>"foo"),2=> .... so on);
如果姓氏与给定变量匹配,我想删除一个条目,例如
$surname = "foofoo";
如果找到$ surname,该函数应搜索整个数组,删除该数组
我尝试查看一些答案,例如here和here给出的答案,但我无法清楚地理解它们,有人可以展示一个明确的方法以及一些好的解释,如果可能的话,链接到一些阅读文件?
答案 0 :(得分: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 ) )