Page 1 sur 1

sort mutliple array

Posté : 17 mai 2019, 11:15
par UserB
Bonjour, j'ai un array qui sort d'un json :

Code : Tout sélectionner

Array ( [multiple] => 1 [options] => Array ( [options0] => Array ( [name] => Boulanger Pâtissier [value] => 1 ) [options1] => Array ( [name] => Boucher Charcutier [value] => 2 ) [options2] => Array ( [name] => Carrossier Peintre [value] => 3 ) [options3] => Array ( [name] => Carreleur [value] => 4 ) [options4] => Array ( [name] => Contôle technique [value] => 5 ) [options5] => Array ( [name] => Couvreur [value] => 6 ) [options6] => Array ( [name] => Frigoriste [value] => 7 ) [options7] => Array ( [name] => Fleuriste [value] => 8 ) [options8] => Array ( [name] => Electricien [value] => 9 ) [options9] => Array ( [name] => Garagiste [value] => 10 ) [options10] => Array ( [name] => ébeniste [value] => 11 ) [options11] => Array ( [name] => Installateur pompe à chaleur [value] => 12 ) [options12] => Array ( [name] => Installateur Aérothermie [value] => 13 ) [options13] => Array ( [name] => Maçonnerie [value] => 14 ) [options14] => Array ( [name] => Maroquinier [value] => 15 ) ) )
Je veux simplement qu'il se retrie par ordre alphabetique sur name tout en gardant sa valeur (que j'ulitilise) derriere pour un select option.
J'avoue être un peu perdu sur toutes les options entre sort, asort, usort etc. Par quoi je commence au juste?

Re: sort mutliple array

Posté : 17 mai 2019, 11:25
par Spols
dans ce cas ci usort est tra seule option je pense

les exemples de la doc sont bien fait pour commencer

Re: sort mutliple array

Posté : 17 mai 2019, 11:29
par saveus
dans ton cas je dirais du Ksort.

sur https://www.php.net/manual/fr/function.asort.php
dans les commentaires tu as un utilisateur qui as mis différents exemple d'utilisation.

avec un code du style

Code : Tout sélectionner

unset ($chaine); foreach ($multiple as $value) { $chaine=chaine."<tr><td></td><td></td></tr>"; //pour mettre un séparateur entre les différents multiple unset ($array_temporaire); $array_temporaire=$value; ksort($array_temporaire); foreach ($array_temporaire as $k > $v) { $chaine=chaine."<tr><td>".$k."</td><td>".$v."</td></tr>"; } } echo $chaine;

Re: sort mutliple array

Posté : 18 mai 2019, 09:04
par UserB
Bonjour, merci pour les réponses, a force de tests, je suis tombé sur cette toute petite fonction qui le fait tout simplement !
un usort comme spols le suggere :

function cmp($a, $b)
{
return strcasecmp($a['name'], $b['name']);
}
usort($myArray, 'cmp');