Leere Elemente eines Arrays löschen
Meiko
- php
Hallo
gibt es eine Funktion die Leere Elemente eines Arrays entfernt ? wie es ja z.B. array_uniqe gibt um gleiche Elemente zu entfernen?
Habe gesucht und gesucht... aber nix gefunden...
Gruss
Meiko
Nachschlag...
im Gegensatz zu der Funktion array_unique...
ich muss auch die Keys los werden. ;)
Hi Meiko,
es gibt Beispiele in der php-doku glaube ich, aber direkt gibt es keine.
habe das früher schonmal bei php.net gefunden
parameter sind das Array, der DeleteString, und die Position des Datensatzes bei mehrdimesionalen Arrays
<code>
function array_clean($input, $delete=false, $pos=0) {
$i = 0;
$return = array();
while($i < count($input)) {
if(is_array($input[$i])) {
if($delete) {
if($delete!=$input[$i][$pos]) {
array_push($return,$input[$i]);
}
}
else {
if(!empty($input[$i][$pos])) {
array_push($return,$input[$i]);
}
}
}else {
if($delete) {
if($delete!=$input[$i]) {
array_push($return,$input[$i]);
}
}
else {
if(!empty($input[$i])) {
array_push($return,$input[$i]);
}
}
}
$i++;
}
return $return;
}
</code>
ciao
romy
Erst mal danke für die schnelle Antwort... :)
Naja...
Habe mir schon gedacht das da ein wenig code nötig sein wird.
Danke auch dafür.
Gruss
Meiko
abend,
---codeanfang---
<?
$dein_array = array("hallo","du","","da","was","","geht","","ab");
function eintraege_loeschen($arrayvalue,$arraykey) {
global $dein_array;
if ($arrayvalue == '')
unset($dein_array["$arraykey"]);
}
echo "SizeVorher: ".sizeof($dein_array)."<br>";
array_walk ($dein_array, "eintraege_loeschen");
echo "SizeNachher: ".sizeof($dein_array);
?>
---codeende---
mfg,
Z.N.S.
Huhu Meiko
schau Dir mal array_filter() an.
Viele Grüße
lulu