JeuWeb - Crée ton jeu par navigateur
[Test de développement] Transformer une query string en tableau associatif - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Test de développement] Transformer une query string en tableau associatif (/showthread.php?tid=4948)

Pages : 1 2 3


RE: [Test de développement] Transformer une query string en tableau associatif - Anthor - 28-06-2010

(28-06-2010, 11:38 AM)atra27 a écrit :
(28-06-2010, 02:26 AM)Sephi-Chan a écrit : Le but du jeu est donc de partir d'une chaîne comme ceci (spéciale dédicace à ceux qui ont aimé les romans de Roger Zelazny) :

Je vois ou on parle de url ici Big Grin

La problématique etait de partir d'un chaine pour obtenir le résultat demandé!
Hors la les scripts répondes a la problématique...

Explique moi donc l'intérêt d'avoir une chaine de la sorte si c'est pas pour la passer en dehors de ton script ?
Si c'est en dehors, alors elle sera encodé.

Par exemple : foo[]=foo+bar
Doit donner : foo bar (avec un espace)

Même si ça ne devrait pas être dans la fonction, et encore, car sinon on aurait pas non plus une chaine a soumettre ^^

Myrina a écrit :Et si il s'agit d'un rapprochement avec la fonction parse_str, il faudra m'expliquer l'intérêt d'utiliser une pratique quand elle est mauvaise.

Parce que ce qui est natif en PHP ne l'est pas forcement dans les autres langages. Et que le but de l'exercice est de travailler l'algo.


RE: [Test de développement] Transformer une query string en tableau associatif - Sephi-Chan - 28-06-2010

(28-06-2010, 12:27 PM)IGstaff a écrit : Exemple: Issu de celui de Sephi-Chan.
QUERY STRING : "name=Corwin&title=Prince of Amber&browsers[]=Benedict&browsers[]=Eric&equipment[sword]=Grayswandir&quests[][step1]=Get Graal"
Résultat:
Array
(
[name] => Corwin
[title] => Prince of Amber
[browsers] => Array
(
[0] => Benedict
[1] => Eric
)
[equipment] => Array
(
[sword] => Grayswandir
)
[quests] => Array
(
[0] => Array
(
[step1] => Get Graal
)
)
)

As-tu des exemples concrets de telles utilisations ? Car pour être honnête, je ne comprends pas trop l'intérêt.

Je m'explique : tu ne peux pas rassembler d'autres propriétés que step1 dans le même tableau. Ainsi la query string suivante n'aura pas le résultat qu'on pourrait attendre.

quests[][name]=Get Graal&quest[][description]=Find the Holy Graal

Il vaut mieux utiliser la notation associative pour avoir ce qu'on attend :

quests[0][name]=Get Graal&quest[0][description]=Find the Holy Graal

C'est d'ailleurs la notation qu'on utilise dans Rails pour les formulaires qui agissent sur un modèle et ses modèles associés (cf. les RailsCasts #196 Nested Model Form Part 1 et #197 Nested Model Form Part 2)


Sephi-Chan


RE: [Test de développement] Transformer une query string en tableau associatif - jo_link_noir - 28-06-2010

Salut,

Question sur l'algo, ça fait quoi quant la chaîne est
Code :
a=plop&a[]=plop2



RE: [Test de développement] Transformer une query string en tableau associatif - srm - 28-06-2010

Aucun des exemples donné ne résout ce cas là : a[][]=plop&a[]=plop2


RE: [Test de développement] Transformer une query string en tableau associatif - jo_link_noir - 28-06-2010

J'ai fait en java-script pour changé : http://jeuweb.pastebin.com/sFRXSnPM
Par contre ça utilise la version 1.7 de java-script, mais y a pas grand chose à changé pour les versions antérieures.

Et ça résout le a[][]=plop&a[]=plop2 Wink
Par contre si la variable est une chaine ou un tableau (a=plop&a[]=plop2 ou a[]=plop2&a=plop), c'est la chaine qui gagne (a=plop).


RE: [Test de développement] Transformer une query string en tableau associatif - srm - 29-06-2010

C'est la dernière assignation qui doit gagner.
Tu résous aussi le cas a[][][]=plop ?


RE: [Test de développement] Transformer une query string en tableau associatif - jo_link_noir - 29-06-2010

(29-06-2010, 12:20 AM)oxman a écrit : C'est la dernière assignation qui doit gagner.
Ok, j'ai modifié en conséquence.
(29-06-2010, 12:20 AM)oxman a écrit : Tu résous aussi le cas a[][][]=plop ?
Oui, pourquoi ce limité ? Smile


RE: [Test de développement] Transformer une query string en tableau associatif - garf - 29-06-2010

Ce cas là ne devrait pas arriver ( pourquoi avoir un cas ou une variable est en même temps un tableau de valeur (uni et/ou multidimensionnel) et un scalaire ?
Pour moi, ca approche du cas de mauvaise conception ^^


RE: [Test de développement] Transformer une query string en tableau associatif - srm - 29-06-2010

Ca n'est pas vraiment la question Wink
La fonction doit pouvoir gérer même les cas "de mauvaise conception"
D'autant plus que ça n'est pas avéré que l'on peut avoir ce cas uniquement dans un cas de mauvaise conception.


RE: [Test de développement] Transformer une query string en tableau associatif - garf - 29-06-2010

Si ce n'est pas un mauvais cas de conception, c'est alors à toi de déterminer quel type de variable à la prépondérance, je ne pourrais pas répondre (ca dépend alors du programme qui lui devra choisir Big Grin)