Sorteren van een multi-dimensionale array
tutorial hier op PHPhulp gevonden. Ik had daar een comment geplaatst, waarin ik vroeg of het ook mogelijk was een key mee te geven zodat ik de functie niet met de hand hoef te wijzigen. Ik kreeg daar een reactie maar om het allemaal een beetje overzichtelijk te houden zal ik hier verder gaan.
Zelf heb ik dit geprobeerd maar krijg de volgende fout meldingen:
Notice: Undefined variable: key in C:\...\test.php on line 5
Notice: Undefined index: in C:\...\test.php on line 5
Doe ik iets fout? Moet het op een andere manier?
Ik had deze Zelf heb ik dit geprobeerd maar krijg de volgende fout meldingen:
Notice: Undefined variable: key in C:\...\test.php on line 5
Notice: Undefined index: in C:\...\test.php on line 5
Code (php)
Doe ik iets fout? Moet het op een andere manier?
Gewijzigd op 12/12/2012 20:47:31 door Peter paul
De eerste melding geeft aan dat $key onbekend is
De tweede melding is het vervolg op de eerste.
Dit is de correcte manier om de key te gebruiken. (Zie ook het commentaar van Wouter J in de tutorial)
Klik hier voor meer informatie over het gebruik van anonymous functions.
Code (php)
Gewijzigd op 12/12/2012 21:31:53 door Niels K
- Waarom staat & voor de $array
- Waarom moet ik "use ($key)" in de functie gebruiken.
De use ($key) zorgt ervoor dat de $key uit de sorter functie gebruikt kan worden in de anonieme functie.
Peter paul op 13/12/2012 10:27:05:
- Waarom staat & voor de $array
Dat heet: variabelen doorgeven "by reference".
http://php.net/manual/en/language.references.pass.php
Daarbij ga je die variabele niet meer returnen. De aanpassing die binnen de functie gebeurt, wordt ook doorgevoerd buiten de functie.
Jij hebt
$array = sorter($array, 'name');
Als je het by reference doet, heb je
sorter($array, 'name');
Gewijzigd op 13/12/2012 13:55:40 door Kris Peeters