Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
php:array [2015/11/10 10:06] webproducer Benutzung der Funktionen innerhalb von Klassen |
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> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 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> | </code> | ||
| Zeile 65: | Zeile 96: | ||
| ===== Sortierung ===== | ===== Sortierung ===== | ||
| - | Beispiel: Alle Adress-Objekte sollen nach Postleitzahl sortiert werden: | + | ==== Einfache Sortierung nach Schlüsselwert (key) ==== |
| + | |||
| + | **Beispiel:** | ||
| <code php> | <code php> | ||
| - | public function sortPLZ( $a, $b ) | + | $Farben = [ 2 => "blau", 1 => "gelb", 3 => "grün", 0 => "rot", 4 => "schwarz" ]; |
| - | { | + | ksort( $Farben ); |
| - | if( $a->plz == $b->plz ) | + | print_r( $Farben ); |
| - | return 0; | + | </code> |
| - | return( $a->plz < $b->plz ) ? -1 : 1; | + | **Ergebnis:** |
| - | } | + | |
| - | usort( $adressen, 'sortPLZ' ) ); | + | <code> |
| + | Array ( [0] => rot [1] => gelb [2] => blau [3] => grün [4] => schwarz ) | ||
| </code> | </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 94: | Zeile 137: | ||
| 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. | ||
| - | ===== Benutzung der Funktionen innerhalb von Klassen ===== | + | ===== 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: | Wenn die Funktionen "sortPLZ" und "SpielscheinFilter" in als Methoden in Klassen erstellt wurden können sie wie folgt aufgerufen werden: | ||
| Zeile 109: | Zeile 152: | ||
| 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]] | 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. | ||
| ---- | ---- | ||