PDA

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>