J'ai le tableau suivant: et je veux trier cela de sorte que cela ressemble à ceci: p> si fondamentalement je besoin de commander par J'ai essayé d'utiliser J'ai également essayé produit_id code> et user_id code> de telle manière qu'il sélectionne le nombre inférieur product_id code> de chaque utilisateur avant de passer à la suivante. P> USort code> mais je ne pouvais pas le faire fonctionner. p> array_multisort < / Code> Mais tout ce que je pouvais obtenir, c'est de commander en utilisant le même ordre que je récupère déjà de la base de données. p> p>
3 Réponses :
L'hypothèse est que vos valeurs sont des entiers: Vous pouvez également utiliser la commande de la base de données avec
commander par produit_id, user_id code> clause. P> < / p>
Array
(
[0] => Array
(
[user_id] => 1
[product_id] => 1
)
[1] => Array
(
[user_id] => 2
[product_id] => 1
)
[2] => Array
(
[user_id] => 3
[product_id] => 1
)
[3] => Array
(
[user_id] => 1
[product_id] => 2
)
[4] => Array
(
[user_id] => 2
[product_id] => 2
)
[5] => Array
(
[user_id] => 1
[product_id] => 3
)
)
Votre sortie n'est pas la même que celle attendue de l'OP. Votre commentaire sur la vérification de votre réponse est un bruit complet et inutile.
Tandis que cet extrait de code peut résoudre la question, y compris une explication aide vraiment à améliorer la qualité de votre message. N'oubliez pas que vous répondez à la question des lecteurs à l'avenir, et ces personnes pourraient ne pas connaître les raisons de votre suggestion de code. Essayez également de ne pas fouler votre code avec des commentaires explicatifs, cela réduit la lisibilité du code et des explications!
S'il vous plaît vérifier mon code modifié. J'ai juste oublié de chérer $ userarray et $ productarray dans Multisort. J'ai modifié le code et la sortie est également enregistrée dans l'éditeur de suivi ci-dessous. Je ne suis pas génial et expert comme vous, mais je fais de mon mieux pour donner une réponse utile à l'utilisateur. @ Rizier123
Désolé pour la gêne occasionnée pour cette réponse car j'ai attaché une sortie sans vérifier sa faute. L'erreur a été interchangeée de la matrice dans Array_Multisort ($ CréditArray, Sort_asc, $ userarray, sort_asc, $ arratrie); @ Rizier123
solution à l'aide de la sortie: p> array_multisort code> fonction avec "tableau de colonnes" (peu de dimensions de tri):
votre code avec
USort code> est incorrect; Vous devez comparer à<< / code> /> code> par premier champ, et uniquement si les premiers champs sont égaux à comparer par seconde.Vous dites que vous récupérez de base de données, une raison pour laquelle vous ne triez pas directement sur la requête?