Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:array

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
php:array [2015/08/13 14:45]
webproducer Beispiel Passwortgenerator
php:array [2024/04/17 09:39] (aktuell)
webproducer [Sortierung eines Mehrdimensionalem Array]
Zeile 14: Zeile 14:
   - Assoziatives Array   - Assoziatives Array
  
-----+===== Elemente in ein Array einfügen =====
  
-===== Sortierung =====+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.
  
-Beispiel: Alle Adress-Objekte sollen nach Postleitzahl sortiert werden:+Mit folgender Funktion können Sie Elemente eines Arrays in gewünschter Position in einem anderen Array einfügen:
  
-<code php> +<​code ​php array_insert.php> 
-public ​function ​sortPLZ( $a, $)+function ​insert_array( $arr1, $pos, $arr2 )
 { {
- if( $a->plz == $b->​plz ​+    $totalArr1 = count( $arr1 ); 
- return 0;+    $totalArr2 ​count( ​$arr2 ); 
 +    ​$newArr = array()// neues Array erstellen
  
- return( $a->​plz ​< $b->plz ? -1 : 1;+    if( $pos <$totalArr1 && $totalArr2 ​) 
 +    { 
 +        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;
 } }
  
-usort( $adressen'​sortPLZ' ​) );+ 
 +</​code>​ 
 + 
 +**Anwendungsbeispiel:​** 
 + 
 +<code php> 
 +$navi = array( 
 +    "​home"​ => "​Startseite",​ 
 +    "​about"​ => "Über uns",​ 
 +    "​contact"​ => "​Kontakt"​ 
 +); 
 + 
 +if( $Migtlied ) 
 +
 +    $navi = array_insert($navi2, array( "​members"​ => "​Mitgliederbereich"​)); 
 +}
 </​code>​ </​code>​
  
 ---- ----
 +
 +===== Automatisches füllen eines Arrays =====
 +
 +Mit der PHP-Funktion range() kann ein Array automatisch mit einer Zahlenreihe befüllt werden. Das folgende Beispiel erstellt ein Array mit jeder zweiten Zahlen zwischen 1 und 16:
 +
 +<code php>
 +$numbers = range( 0, 16, 2 );
 +</​code>​
 +
 +**Ergebnis:​**
 +
 +<code php>
 +Array
 +(
 +    [0] => 0
 +    [1] => 2
 +    [2] => 4
 +    [3] => 6
 +    [4] => 8
 +    [5] => 10
 +    [6] => 12
 +    [7] => 14
 +    [8] => 16
 +)
 +</​code>​
 +
 +----
 +
 +===== Sortierung =====
 +
 +==== Einfache Sortierung nach Schlüsselwert (key) ====
 +
 +**Beispiel:​**
 +
 +<code php>
 +$Farben = [ 2 => "​blau", ​ 1 => "​gelb", ​ 3 => "​grün", ​ 0 => "​rot",​ 4 => "​schwarz"​ ];
 +ksort( $Farben );
 +print_r( $Farben );
 +</​code>​
 +
 +**Ergebnis:​**
 +
 +<​code>​
 +Array ( [0] => rot [1] => gelb [2] => blau [3] => grün [4] => schwarz )
 +</​code>​
 +
 +==== Sortierung eines Mehrdimensionalem Array ====
 +
 +Beispiel: Alle Adress-Objekte sollen nach Postleitzahl sortiert werden:
 +
 +<code php>
 +array_multisort( array_column( $adressen, '​plz'​ ), SORT_NATURAL | SORT_FLAG_CASE,​ $adressen );
 +</​code>​
 +
 +**Hinweis:​** Die Eigenschaft "​plz"​ des PHP-Objektes $adressen muss hierfür die Sichtbarkeit "​public"​ besitzen.
  
 ===== Filterung ===== ===== Filterung =====
Zeile 48: Zeile 136:
  
 Es werden nur Spielscheine berücksichtigt,​ bei denen die Callback-Funktion "​true"​ zurück gibt. Es werden nur Spielscheine berücksichtigt,​ bei denen die Callback-Funktion "​true"​ zurück gibt.
 +
 +===== Aufruf der Funktionen innerhalb von Klassen =====
 +
 +Wenn die Funktionen "​sortPLZ"​ und "​SpielscheinFilter"​ in als Methoden in Klassen erstellt wurden können sie wie folgt aufgerufen werden:
 +
 +<code php>
 +usort( $adressen, [ $this, "​sortPLZ"​] );
 +$Spielscheine = array_filter( $Spielscheine,​ [ $this, "​SpielscheinFilterFilter"​ ] );
 +</​code>​
 +
 +Anstelle von $this könen auch andere, externe Klassen angesprochen werden. Diese sind dann als Zeichenkette in Anführungsstrichen zu setzen.
 +
 +===== Anonyme Funktionen =====
 +
 +Seit der PHP-Version 5.3 können für alle oben aufgeführten Beispiele auch mit anonyme Funktionen benutzt werden. [[php:​anonymous_functions|Weitere Informationen über anonyme Funktionen]]
  
 ---- ----
 +
 +===== Schlüssel und Werte umdrehen =====
 +
 +Mit der PHP-Funktion „array_flip()“ können die Schlüssel (keys) und Werte (values) eines Array einfach umgedreht werden. Ein Beispiel hierfür ist [[php:​iso_3166|unten auf dieser Seite]] zu finden.
 +----
 +
 +===== Lücken im key eines numerischen Arrays entfernen =====
  
 Der [[:​pwgen|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. Der [[:​pwgen|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.
  
php/array.1439469945.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)