Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:array

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
php:array [2015/04/08 10:43]
webproducer angelegt
php:array [2024/04/17 09:39] (aktuell)
webproducer [Sortierung eines Mehrdimensionalem Array]
Zeile 13: Zeile 13:
   - numerisches Array   - numerisches Array
   - Assoziatives Array   - Assoziatives Array
 +
 +===== Elemente in ein Array einfügen =====
 +
 +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:
 +
 +<code php array_insert.php>​
 +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;
 +}
 +
 +
 +</​code>​
 +
 +**Anwendungsbeispiel:​**
 +
 +<code php>
 +$navi = array(
 +    "​home"​ => "​Startseite",​
 +    "​about"​ => "Über uns",
 +    "​contact"​ => "​Kontakt"​
 +);
 +
 +if( $Migtlied )
 +{
 +    $navi = array_insert($navi,​ 2, array( "​members"​ => "​Mitgliederbereich"​));​
 +}
 +</​code>​
  
 ---- ----
  
-===== Sortierung ​=====+===== 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 26: Zeile 127:
  
 <code php> <code php>
-function SpielscheinFilter( $Spielschein )+public ​function SpielscheinFilter( $Spielschein )
 { {
  return( $Spielschein['​gewonnen'​] );  return( $Spielschein['​gewonnen'​] );
Zeile 35: 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.
 +
php/array.1428482593.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)