Je me sers d'une fonction que je faisais quand je programmation commencé (ou peu après au moins) pour faire la tâche simple mais très utile organiser un tableau basé sur les parents et les enfants. Un exemple d'où cela serait utile serait, disons, si vous aviez une liste d'éléments qui peuvent avoir une profondeur infinie d'enfants dans une base de données, et vous devez présenter la liste dans l'ordre dans un élément de sélection html avec un visuel représentation (-) de la profondeur pour chaque enfant.besoin d'une meilleure, moins de mémoire de façon intensive d'organiser une parent- non imbriquées> array des enfants
Maintenant, j'ai la ou les fonction (s) qui font cela, et ils fonctionnent dans toutes les situations dans lesquelles je les ai mis, mais ils clonent le tableau d'innombrables fois ... Jusqu'à présent cela n'a pas été problème, mais je commence à utiliser cette fonction dans des endroits qui pourraient avoir des dizaines de milliers d'entrées à organiser. Donc j'espère que quelqu'un ici pourra m'aider à l'optimiser.
Le code: http://pastebin.com/knk0Fyd0
Merci c'est une augmentation de vitesse assez importante, mais je suis curieux ... Suis-je charger le tableau en mémoire encore et encore ou PHP est assez intelligent pour le gérer correctement? – Jon
Vous manipulez les tableaux dans une fonction. Lorsque votre fonction est terminée, le garbage collector de PHP prend le relais et libère de l'espace. Si vous pouvez diviser cette grande fonction en plus petites, votre consommation de mémoire diminuera. – stillstanding
D'accord, merci beaucoup ... Je l'ai juste couru sur un tableau de 200 entrées générées aléatoirement, et il faut 2ms pour fonctionner. Existe-t-il d'autres moyens de l'accélérer? Ou, y a-t-il un moyen de mettre en cache un tableau? J'ai une fonction de cache construite, mais je ne suis pas sûr de savoir comment je peux obtenir un identifiant unique pour chaque tableau pour m'assurer qu'un cache n'a pas déjà été généré. md5 (var_dump())? – Jon