Re: [LA-technique] PHP ; Remplissage d'array avec foreach |
[ Thread Index | Date Index | More linuxarverne.org/technique Archives ]
Le 05/01/2015 11:48, Daniel Cartron a
écrit :
oui c'est possible mais moins pratique qu'un élément de tableau non ?Le lundi 5 janvier 2015, 11:20:22 Fred a écrit :Attention cependant, les indices/ingredient, recipetext, nutrition, comments// /restent de type SimpleXMLElement, il faudrait reboucler récursivement sur chaque indice de chaque élément recipe/...Et concrètement ça fait quoi ? Du moment que je peux accéder au contenu ça me convient. Mais est-ce possible ? [0] => Array ( [title] => tarte à la rhubarbe [preptime] => 10 [cooktime] => 15 [ingredient] => SimpleXMLElement Object ( [li] => Array ( [0] => beurre [1] => farine [2] => bière ) ) [recipetext] => SimpleXMLElement Object ( [li] => Array ( [0] => text1 [1] => text2 [2] => text3 ) ) [url] => http://www.tarte.fr [imagepath] => img/tarte.jpgIci, pour accéder au premier ingrédient il faut écrire : $ingredients = (array) $mycookbook[0]['ingredient']->li; $ingredient1 = $ingredients[0]; //print_r($ingredient1); D'après la structure de ton XML, tu pourrais boucler sur chaque élément de ton tableau pour faire en sorte que dès qu'une propriété est de type SimpleXMLElement, tu affectes à cette propriété le contenu de la propriété "li" pour avoir ceci au final : [0] => Array ( [title] => tarte à la rhubarbe [preptime] => 10 [cooktime] => 15 [ingredient] => Array ( [0] => beurre [1] => farine [2] => bière [recipetext] => Array ( [0] => text1 [1] => text2 [2] => text3 ) [url] => http://www.tarte.fr [imagepath] => img/tarte.jpg tu n'aurais plus qu'à écrire : $ingredient1 = $mycookbook[0]['ingredient'][0]; //print_r($ingredient1); ... plus sympa non ? Alors pour faire simple (c'est pas trop élégant mais c'est le plus simple), tu ajoutes à ton tableau $categories toutes les catégories de la recette en cours (via un foreach),Sinon tout est parfait, à part que j'avais omis de préciser (m'en rappelais pu) que category peut avoir plusieurs occurences : Entrée et Poisson par exemple... Et du coup ça me crée un sous array puis tu termines par : $categories = array_unique($categories); (http://php.net/array_unique) |
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |