| 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.jpg
Ici, 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/ |