leere und doppelte Felder entfernen (MultiArray)

k3nguruh

Erfahrenes Mitglied
Hallo,

erstmal ein Beispiel. Es ist gekürzt und es können mehrere Inputs (Adresse,... usw.) je Zeile noch dazukommen.
HTML:
<table>
  <tr>
    <td><input type="text" name="vorname[]" value="Vorname1" /></td>
    <td><input type="text" name="nachname[]" value="Nachname1" /></td>
  </tr>
  <tr>
    <td><input type="text" name="vorname[]" value="Vorname2" /></td>
    <td><input type="text" name="nachname[]" value="Nachname1" /></td>
  </tr>
  <tr>
    <td><input type="text" name="vorname[]" value="" /></td>
    <td><input type="text" name="nachname[]" value="" /></td>
  </tr>
  <tr>
    <td><input type="text" name="vorname[]" value="Vorname1" /></td>
    <td><input type="text" name="nachname[]" value="Nachname1" /></td>
  </tr>
  <tr>
    <td><input type="text" name="vorname[]" value="Vorname5" /></td>
    <td><input type="text" name="nachname[]" value="Nachname5" /></td>
  </tr>
</table>
ich möchte gerne, dass die Zeile die leer ist (Zeile 3) entfernt wird. Desweitern sollen alle Zeilen in denen das gleiche steht (Zeile 1 und 4) nur 1x vorkommen. Sodass im Anschluss ein Array rauskommt, was wie folgt aussieht:
PHP:
$ausgabe = array(0 => array("vorname"  => "Vorname1",
                            "nachname" => "Nachname1"),
                 1 => array("vorname"  => "Vorname2",
                            "nachname" => "Nachname1"),
                 2 => array("vorname"  => "Vorname5",
                            "nachname" => "Nachname5")
                 );

Kann mir dabei bitte einer helfen?
 
Hey,

- also um Arrayeinträge zu löschen, benutzt du am besten die unset() Funktion.


- zum doppelte Einträge finden / löschen benutzt man regulär:
array_unique()
Erwartet ein array und gibt ein neues Array zurück, aus dem alle doppelten Einträge entfernt wurden

- für leere Elemente empfehle ich dir:
PHP:
$i = 0;
while($i<=count($werte)) { 
    if ($werte[$i]== "") { 
    unset ( $werte[$i] ); 
    ++$i;
    } 
}
Natürlich funktionierts auch mit anderen Schleife:
Leere Array Elemente

Berichtigt mich bitte, aber es gibt glaub keine vordefinierte Funktion.


LG, Alexander
 
Zuletzt bearbeitet:
@creep3007:
Doch gibt es, array_filter()


Ein Frage an kenguruh2002, wie kommen die Daten überhaupt in die input Felder?
Sind es Nutzereingaben oder kommen werden Sie über php eingetragen. Bei ersterem brauchst du dann JavaScript.
 
Zurück