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/14 14:51]
webproducer Elemente in ein Array einfügen
php:array [2024/04/17 09:39] (aktuell)
webproducer [Sortierung eines Mehrdimensionalem Array]
Zeile 28: Zeile 28:
     $newArr = array(); // neues Array erstellen     $newArr = array(); // neues Array erstellen
  
-    if( $pos <= $totalArr1 & $totalArr2 > 0 )+    if( $pos <= $totalArr1 ​&& $totalArr2 > 0 )
     {     {
         foreach( $arr1 as $key=>​$val )         foreach( $arr1 as $key=>​$val )
Zeile 37: Zeile 37:
             {             {
                 foreach( $arr2 as $key2=>​$val2 )                 foreach( $arr2 as $key2=>​$val2 )
 +                {
                     $newArr[$key2] = $val2; // Inhalt vom 2. Array hinzufügen                     $newArr[$key2] = $val2; // Inhalt vom 2. Array hinzufügen
 +                }
             }             }
         }         }
Zeile 58: Zeile 60:
  
 if( $Migtlied ) if( $Migtlied )
 +{
     $navi = array_insert($navi,​ 2, array( "​members"​ => "​Mitgliederbereich"​));​     $navi = array_insert($navi,​ 2, array( "​members"​ => "​Mitgliederbereich"​));​
 +}
 </​code>​ </​code>​
  
 ---- ----
  
-===== Sortierung ​=====+===== Automatisches füllen eines Arrays ​=====
  
-Beispiel: Alle Adress-Objekte sollen nach Postleitzahl sortiert ​werden:+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> <code php>
-public function sortPLZ$a$b +$numbers = range016, 2 ); 
-+</code>
- if( $a->plz == $b->plz ) +
- return 0;+
  
- return( $a->plz < $b->plz ) ? -1 1; +**Ergebnis:**
-}+
  
-usort$adressen, '​sortPLZ' ​);+<code php> 
 +Array 
 +( 
 +    [0] => 0 
 +    [1] => 2 
 +    [2] => 4 
 +    [3] => 6 
 +    [4] => 8 
 +    [5] => 10 
 +    [6] => 12 
 +    [7] => 14 
 +    [8] => 16 
 +)
 </​code>​ </​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 95: 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.1439556676.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)