Dies ist eine alte Version des Dokuments!
A. Mögliche Dimensionen eines Arrays:
B. Indizierung eines Arrays:
Die PHP-Funktion „array_push“ fügt ein oder mehrere Elemente an das Ende eines Arrays an. Die PHP-Funktion „array_unshift“ fügt ein oder mehr Elemente am Anfang eines Arrays ein.
Mit folgender Funktion können Sie Elemente eines Arrays in gewünschter Position in einem anderen Array einfügen:
function insert_array( $arr1, $pos, $arr2 ) { $totalArr1 = count( $arr1 ); $totalArr2 = count( $arr2 ); $newArr = array(); // neues Array erstellen if( $pos <= $totalArr1 & $totalArr2 > 0 ) { foreach( $arr1 as $key=>$val ) { $newArr[$key] = $val; // Inhalt vom 1. Array hinzufügen if( --$pos == 0 ) // Position erreicht { foreach( $arr2 as $key2=>$val2 ) $newArr[$key2] = $val2; // Inhalt vom 2. Array hinzufügen } } } return $newArr; }
Anwendungsbeispiel:
$navi = array( "home" => "Startseite", "about" => "Über uns", "contact" => "Kontakt" ); if( $Migtlied ) $navi = array_insert($navi, 2, array( "members" => "Mitgliederbereich"));
Beispiel:
$Farben = [ 2 => "blau", 1 => "gelb", 3 => "grün", 0 => "rot", 4 => "schwarz" ]; ksort( $Farben ); print_r( $Farben );
Ergebnis:
Array ( [0] => rot [1] => gelb [2] => blau [3] => grün [4] => schwarz )
Beispiel: Alle Adress-Objekte sollen nach Postleitzahl sortiert werden:
public function sortPLZ( $a, $b ) { if( $a->plz == $b->plz ) return 0; return( $a->plz < $b->plz ) ? -1 : 1; } usort( $adressen, 'sortPLZ' ) );
Beispiel: Alle Spielscheine aussortieren, die nicht gewonnen haben:
public function SpielscheinFilter( $Spielschein ) { return( $Spielschein['gewonnen'] ); } $Spielscheine = array_filter( $Spielscheine, "SpielscheinFilterFilter" );
Es werden nur Spielscheine berücksichtigt, bei denen die Callback-Funktion „true“ zurück gibt.
Wenn die Funktionen „sortPLZ“ und „SpielscheinFilter“ in als Methoden in Klassen erstellt wurden können sie wie folgt aufgerufen werden:
usort( $adressen, [ $this, "sortPLZ"] ); $Spielscheine = array_filter( $Spielscheine, [ $this, "SpielscheinFilterFilter" ] );
Anstelle von $this könen auch andere, externe Klassen angesprochen werden. Diese sind dann als Zeichenkette in Anführungsstrichen zu setzen.
Seit der PHP-Version 5.3 können für alle oben aufgeführten Beispiele auch mit anonyme Funktionen benutzt werden. Weitere Informationen über anonyme Funktionen
Der Passworggenerator ist ein schönes Beispiel dafür, wie ein Array von einem anderen extrahiert werden kann und wie die dadurch entstehenden Lücken im index eines numerischen Arrays entfernt werden.