28-06-2010, 02:26 AM
(Modification du message : 28-06-2010, 11:34 AM par Sephi-Chan.)
Hello,
En lisant la documentation de l'API de Facebook, je suis tombé sur une problématique : celle de transformer une query string en un tableau associatif. Et je me suis dit que ça pouvait être un test de développement sympa.
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) :
Et d'arriver à un tableau associatif comme celui-ci (je donne l'exemple au format YAML, mais il faut bien sûr utiliser une structure de données du langage utilisé) :
Ainsi, les clés de la forme xxx sont des scalaires, les clés de la forme xxx[] sont des tableaux et les clés de la forme xxx[xxx] sont des tableaux associatifs (aussi appelés hash ou dictionnaires).
PHP dispose nativement d'une fonction pour effectuer cette manipulation, il s'agit de parse_str(). Mais l'exercice est bien de créer une fonction alternative.
Je présenterai mon implémentation en Ruby un peu plus tard, pour ne pas fausser la créativité des participants.
Sephi-Chan
En lisant la documentation de l'API de Facebook, je suis tombé sur une problématique : celle de transformer une query string en un tableau associatif. Et je me suis dit que ça pouvait être un test de développement sympa.
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) :
name=Corwin&title=Prince of Amber&brothers[]=Benedict&brothers[]=Eric&equipment[sword]=Grayswandir
Et d'arriver à un tableau associatif comme celui-ci (je donne l'exemple au format YAML, mais il faut bien sûr utiliser une structure de données du langage utilisé) :
---
name: Corwin
title: Prince of Amber
brothers:
- Benedict
- Eric
equipment:
sword: Grayswandir
Ainsi, les clés de la forme xxx sont des scalaires, les clés de la forme xxx[] sont des tableaux et les clés de la forme xxx[xxx] sont des tableaux associatifs (aussi appelés hash ou dictionnaires).
PHP dispose nativement d'une fonction pour effectuer cette manipulation, il s'agit de parse_str(). Mais l'exercice est bien de créer une fonction alternative.
Je présenterai mon implémentation en Ruby un peu plus tard, pour ne pas fausser la créativité des participants.
Sephi-Chan