mam tej tablicy:PHP usunąć sub-tablicę z wielowymiarowej tablicy przez wartość klucza sub-array
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) ""
}
}
chcę usunąć wszystkie tablice podrzędne, które obejmują wartość 334607943355808 w „usunięty” kluczem tablica podrzędna. Mam ten kod:
if(($key = array_search("334607943355808", $array)) !== false) {
unset($array[$key]);
}
od: PHP array delete by value (not key) gdzie jest zakaz multi-array, ale w jaki sposób mogę to zrobić w moim przypadku?
EDIT:
tryed to w ten sposób teraz:
foreach($array as $delete){
if(($key = array_search("334607943355808", $delete)) !== false) {
unset($delete[$key]);
}
}
Ale to nie działa
trzeba rekursji. –
Użyj zagnieżdżonej pętli foreach i sprawdź wartości, czy zawierają Twój numer? – TheOneWhoSighs
nie jest tak elastyczny, ale w takim przypadku zadziała równie dobrze. –