tijdens een oefening van een php cursus moet ik elementen uit een array sorteren en printen

Onderstaande methode werkt!


<?php
// Create an array with several elements in it,
// then sort it and print the joined elements to the screen
 $vrienden = array('toon', 'hans', 'karel', 'piet', 'ad');
    sort($vrienden);
    print join(', ', $vrienden);
?>


Nu zou ik het zelf ook logisch vinden om het zo te doen:

<?php
	// Create an array with several elements in it,
	// then sort it and print the joined elements to the screen
    $vrienden = array('toon', 'hans', 'karel', 'piet', 'ad');
     $gesorteerd = sort($vrienden);
    print join(', ', $gesorteerd);
	?>


Mijn gedachtengang mbt methode 2:
Ken de sorteerfunctie toe aan een variabele en print de gesorteerde variabele middels de join() functie.
(Methode 2 geeft me uiteraard een invalid argument als error) maar wat is er fout in mijn gedachtengang om het zo te doen?
Het zou logisch zijn.
Maar helaas, php.net geeft dit return:


Return Values

Returns TRUE on success or FALSE on failure.
De functie sort geeft niet, zoals jij verwacht, de gesorteerde array terug. In plaats daarvan geeft deze functie een boolean terug. Een boolean is TRUE of FALSE, ofwel 'ja' of 'nee'.

De functie sort laat via die boolean weten of het sorteren gelukt is. Zo ja, dan geeft de functie de boolean TRUE terug. Als het sorteren mislukt dan geeft de functie FALSE terug. Je kunt dit soort informatie altijd teruglezen op [ignore]www.php.net/keyword[/ignore]. "Keyword" is dan de naam van de functie, dus in dit geval wordt het dan www.php.net/sort.

In plaats van "print" wordt in de praktijk meestal "echo" gebruikt, en in plaats van "join" wordt meestal "implode" gebruikt. (Join is een alias van implode. Implode is de officiële functienaam.)

<?php
// Create an array with several elements in it,
// then sort it and print the joined elements to the screen.
$vrienden = array('toon', 'hans', 'karel', 'piet', 'ad');
sort($vrienden);
echo implode(', ', $vrienden);
?>
Dat is een zeer verhelderend antwoord. Is me nu idd duidelijk waarom dit niet kan werken zoals ik had gedacht. Dankje!
Succes ermee ;)

Reageren