Archiv verlassen und diese Seite im Standarddesign anzeigen : Wert in mehrdimensionalem Array suchen und löschen
Makku01
21.12.2011, 21:54:57
Hallo, ich habe folgendes Array:
Array (
[0] => Array ( [nid] => 9466 )
[1] => Array ( [nid] => 9470 )
[2] => Array ( [nid] => 9474 )
[3] => Array ( [nid] => 9478 )
)
hier möchte ich nun nach einem Wert suchen (z.B. $wert = 9466) und diesen löschen. Dann soll das Array wieder zusammengebaut werden, dass es hinterher so aussieht:
Array (
[0] => Array ( [nid] => 9470 )
[1] => Array ( [nid] => 9474 )
[2] => Array ( [nid] => 9478 )
)
wie kann das gehen? Vielen Dank für Eure Hilfe.
Markus
vt1816
21.12.2011, 22:01:19
Hallo und willkommen hier im Forum.
Hier (http://de.php.net/manual/de/ref.array.php) sollte was für Dich dabei sein.
Makku01
21.12.2011, 22:29:49
danke schön, ich hab den ganzen Nachmittag damit verbracht, mit Unset und Foreach-Schleifen herumzuexperimentieren. Nun bin ich da echt mit meinem Latein am Ende. Gibt es nicht einen kurzen Hinweis/Tipp/Wink/Komplettlösung ;-) ?
VG
Ckaos
22.12.2011, 08:20:57
Hi
Hinweis/Tipp/Wink/Komplettlösung
Hast du vt1816 link nicht gesehen???
dann hier nochmal http://de.php.net/manual/de/ref.array.php
Da steht ALLES !!!
mfg
CKaos
DokuLeseHemmung
22.12.2011, 10:13:29
Gibt es nicht einen kurzen Hinweis/Tipp/Wink/Komplettlösung ;-) ?
Kannste haben!
Aber ob du daraus was lernst, ist eine ganz andere Frage.
<?php
error_reporting(-1);
ini_set('display_errors', TRUE);
$array = Array ( 0 => Array ( 'nid' => 9466 ),
1 => Array ( 'nid' => 9470 ),
2 => Array ( 'nid' => 9474 ),
3 => Array ( 'nid' => 9478 ),
);
function feld_filter_fabrik($feldname,$value)
{
return function($arrayelement) use ($feldname,$value)
{
return $value !== $arrayelement[$feldname];
};
}
$result = array_filter($array,feld_filter_fabrik('nid',9466));
$result = array_values($result);
?>
<h1>Vorher</h1>
<pre>
<?php
var_dump($array);
?>
</pre>
<hr>
<h1>Nachher</h1>
<pre>
<?php
var_dump($result);
?>
</pre>
vBulletin® v3.8.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.