Bonsoir,
Voilà j'aimerais optimiser une fonction sensée retourner plusieurs .. éléments.
Voici donc la fonction un peu découpée car elle est assez longue et imbuvable:
Au final je stocke le résultat de la fonction dans une variable intermédiaire de laquelle j'extrais les deux tableaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function get_new_elements($old_f, $new_f, $hash_row) { $new_inventory = array(); $new_items = array(); [...] while (($line = fgetcsv($handle, 10000, ";")) !== FALSE) { [...] array_push($new_items, array ($row + 1, $line)); [...] array_push($new_inventory, array($row + 1, $line)); } [...] return array($new_inventory, $new_items); }
Du coup je double l'utilisation des ressources vu qu'il fait des copies à gogo...
Et j'ai un peu la trouille de dépasser la limite d'utilisation de la mémoire vive sur le serveur, car la taille de mes tableaux se mesurent en méga-octet et cette fonction est appelé dans une boucle ...
Alors voilà mes connaissances en php sont assez faible et je ne connais pas d'alternative à ce que je vous ai montré.
Il y'a les variables globales mais j'ai toujours appris que c'était le mal absolu et qu'en se détournant de cette voie on aspirait à un avenir meilleur (et moi j'y tiens à mon karma !).
Je vais donc conclure sur ma question : Existe t'il de meilleur méthode applicable dans ce cas pour retourner plusieurs gros "éléments" depuis une même fonction ?
Merci d'avance !
Partager