【发布时间】:2014-09-18 15:46:32
【问题描述】:
我有这个数组:
array(5) {
[0]=>
array(4) {
["nachricht"]=>
string(9) "blablaaaa"
["user"]=>
string(15) "334607943355808"
["datum"]=>
string(16) "18.09.2014 11:13"
["deleted"]=>
string(0) ""
}
[1]=>
array(4) {
["nachricht"]=>
string(3) "joo"
["user"]=>
string(15) "334607943355808"
["datum"]=>
string(16) "18.09.2014 11:56"
["deleted"]=>
string(15) "334607943355808"
}
[2]=>
array(4) {
["nachricht"]=>
string(4) "noma"
["user"]=>
string(15) "334607943355808"
["datum"]=>
string(16) "18.09.2014 11:56"
["deleted"]=>
string(0) ""
}
[3]=>
array(4) {
["nachricht"]=>
string(4) "test"
["user"]=>
string(15) "334607943355808"
["datum"]=>
string(16) "18.09.2014 11:56"
["deleted"]=>
string(0) ""
}
[4]=>
array(4) {
["nachricht"]=>
string(4) "doh!"
["user"]=>
string(15) "334607943355808"
["datum"]=>
string(16) "18.09.2014 11:56"
["deleted"]=>
string(0) ""
}
}
我想删除子数组中键“已删除”中包含值 334607943355808 的所有子数组。我得到了这个代码:
if(($key = array_search("334607943355808", $array)) !== false) {
unset($array[$key]);
}
来自:PHP array delete by value (not key),它不是多数组,但在我的情况下我该怎么做?
编辑:
我现在是这样尝试的:
foreach($array as $delete){
if(($key = array_search("334607943355808", $delete)) !== false) {
unset($delete[$key]);
}
}
但它不起作用
【问题讨论】:
-
使用嵌套的 foreach 循环并检查值是否包含您的号码?
-
没有那么灵活,但在这种情况下它也能正常工作。
-
你需要的是一个 FOREACH 循环。
-
看看我的编辑,请帮忙
标签: php multidimensional-array