Tableau php vers tableau javascript [Résolu]

cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 9 juin 2006 à 10:59 - Dernière réponse : cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention
- 15 juin 2006 à 13:45
Bonjour,

Ca fait plusieurs jours que je suis sur un problème et je n'arrive pas à le résoudre.
En fait, il s'agit d'une fenêtre popup, où on retrouve un champ de saisie texte pour une recherche. Quand l'utilisateur valide sa recherche, je fais une requête me récupérant le nom de toutes les entreprises correspondantes, et je les mets dans une combobox.
Pour chaque entreprise trouvée, je fais une autre requête afin de récupérer tous les contacts de l'entreprise et leurs informations pour les mettre dans une deuxième combobox (juste pour leur nom).
Je stocke les informations de chaque contact dans un tableau pour l'indice entreprise auquel il correspond.Et les infromations de chaque contact sont stockées sous forme de tableau associatif. J'ai donc un tableau à 3 dimensions.

Donc au final je me retrouve avec un tableau de données comme le suivant (pour l'entreprise idEntreprise, pour son premier contact trouvé, et la première information souhaitée :
    $tab [idEntreprise][1][1] = info1;

Quand je change le choix de la première combobox (entreprise), je voudrais afficher dans la deuxième combobox le nom des contacts liés.
Pour éviter de recharger la page, je voulais passer par du javascript. Mais j'arrivais pas à envoyer mon tableau PHP au javascript. Pendant mes recherches, j'ai vu qu'en fait il faut convertir le tableau PHP en tableau Javascript. J'ai essayé mais je n'y arrive pas !!

Alors voilà, j'aimerais un petit peu d'aide pour créer mon tableau 3 dimensions en javascript si possible :p

Merci beaucoup !
Afficher la suite 

Votre réponse

25 réponses

Meilleure réponse
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 10:01
3
Merci
Salut,

effectivement... Je viens de faire un petit essai ! Et l'associativité est possible (un monde qui s'écroule) Milles excuses pour cette fausse route.

Donc, en espérant que cela pourra t'aider à mieux comprendre la tecnique à employé :
<html>
    <head>
<script type= "text/javascript">
<!--
// donc un tableau
var tab = new Array();

// qui sera associatif
tab['hop'] = 'truc';
tab['pouet'] = 'machin';

// mutlidimension.... première étape
tab['chose'] = ['prospere','et','youpla','boum'];

// mutlidimensionnel et associatif
var t = new Array(); // il faut construire les dimensions les unes après les autres
t['salut'] = 'temporaire';
t['bonjour'] = 'bonsoir';
tab['multi'] = t; // Puis hop dans le tableau tab

// ce qu'il ne faut pas faire !!!
tab['ouf']['tralala'] = 'enfin fini';
-->
</script>
    </head>

   
<script type="text/javascript">
<!--
// OK OK OK
document.write(tab['hop']+'
');
document.write(tab['pouet']+'
');
document.write(tab['chose'][2]+'
');

// OK
document.write(tab['multi']['bonjour']+'
');

// Erreur : tab.ouf has no properties
// Fichier source : file:///C:/Documents%20and%20Settings/Jg/Bureau/test.html
// Ligne : 18
document.write(tab['ouf']['tralala']+'
');
-->
</script>

   
</html>

Voila, voila.
Passe une bonne journée, et encore désolé de t'avoir enduit d'erreur...

Merci J_G 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de J_G
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 9 juin 2006 à 15:44
0
Merci
Salut,

c'est le PHP qui écrit le javacsript... Donc il faut que tu "écrives" ton tableau javascript à partir du tableau PHP :

Ca devrait donner qq chose comme ça :
(Je mets le js écrit en vert...)

<?php
$arr2D = // tableau deux dimensions

echo "var arr2D = new Array();\n";

foreach( $arr2D as $arra1D ) {

    echo "arr2D.push( new Array('".implode("','",$arr1D)."') );\n";

}
?>
Commenter la réponse de J_G
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 12 juin 2006 à 09:06
0
Merci
Ok merci :) Ben alors j'ai quelques petites questions ...

Une fois que j'ai créé un tableau comme ça, je le passe comment à ma fonction javascript ??
Et puis là ça crée le tableau, mais ça affiche aussi ce que fais les echo, c'est obligatoire ??
Commenter la réponse de cs_chamallow
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 12 juin 2006 à 14:14
0
Merci
Bon j'ai essayé faire refaire le tableau en JS, sauf que j'ai voulu que ce soit avec des indices associatifs, alors j'ai pas fait de push, mais ça donne ça en gros :
($contact, c'est le tableau qui contient les contacts liés aux entreprise, et ils sont mis sous forme de tableau pour l'indice entreprise en question => $contact[idEntreprise] = SQL_SELECT_ROWS($reqContact);  )

$cleEntr = array_keys($contact);
                        foreach($cleEntr as $indice)
                        {
                            $contactLie = $contact[$indice];
                            $nbContact = count($contactLie);
                            echo '<script language="javascript">tabJS["'.$indice.'"].push(new Array());</script>';
                            for($k=1 ; $k<$nbContact ; $k++)
                            {
                                echo '<script language="javascript">tabJS["'.$indice.'"]['.$k.']= new Array("'.$contactLie[$k]['idContact'].'","'.$contactLie[$k]['nomContact'].'");</script>';
                            }
                        }

Mais il me dis que tabJS[mesIndices] n'a pas de propriété, quelque soit l'indice que j'utilise ...
Je deviens folle, je commence à tout mélanger lol

Qu'est-ce qui ne va pas svp?
Commenter la réponse de cs_chamallow
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 12 juin 2006 à 19:57
0
Merci
Salut,

En fait, le gros problème est que les tableaux JavaScript ne savent pas être associatif.

Le objet qui gère les association clef-valeur s'appelle un dictionnaire
dico = new ActiveXObject("Scripting.Dictionary");

new AciveXObject... donc c'est réservé à IE.

Il faut que tu trouve un moyen de te passer de l'associativité. Si vraiment tu en as besoin, peut-être peux-tu créer un tableau 'clef' et un autre 'valeur'. Puis tu fabrique une API (interface de programmation) qui permette de manipuler ce "type de donnée".

Sinon, évite de réouvrir une balise <script> pour chaque ligne de ton script... C'est inutile ! Regarde mon exemple pour voir comment insérer du javascript dans du HTML.

A+
Commenter la réponse de J_G
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 13 juin 2006 à 07:06
0
Merci
Bizarre,partout où j'ai cherché, on dit que le tableaux associatifs existent en javascript!
Et les balises script c'était pour voir si ça allait mieux!
Commenter la réponse de cs_chamallow
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 13 juin 2006 à 10:54
0
Merci
Bon et bien on y est presque :p

Merci de m'aider !!!

Alors ben maintenant j'arrive bien à récupérer le tableau en javascript, par contre y'a deux ptits problèmes, le problème je sais d'où ça vient, et le deixème jsuis pas sûre que ça en soit un !

Alors on commence par le deuxième c'est plus facile :

echo 'tabProvisoire['.$k.'-1] =["'.$contactLie[$k]['idContact'].'","'.$contactLie[$k]['nomContact'].'"];';

Et qu'ensuite je demande de l'afficher pour l'indice x, c'est normal que ça affiche un truc dans le genre :  id,nomContact ???

Et deuxième problème, c'est que mon tableau associatif, les indices sont en fait des id d'une table, donc il sont entiers. Sauf que, ben quand on  veux un tableau avec 3 cases dont l'indice est 5,6,7, ben on se retrouve avec un tableau avec des indices allant de 0 à 7 (logique puisque c'est des entiers!). Bon en php j'ai triché, et je les ai mis en chaines en fait, et ça marche, mais en javascript non, et là ça me pose problème. Alors on peut faire en sorte que mon indice entier, devienne un indice chaine ?? (parce que je crois que y'a pas de conversion d'entier à chaine)

Voilà voilà ! Merci
Commenter la réponse de cs_chamallow
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 13:57
0
Merci
Euh... Ben peut-être tu peux essayer de créer les indices suivants :

echo "tab['key$i'] = 'truc';"; // avec $i un entier

et en Js, tu récupère ainsi :

for( var i=5; i<8; i++ ) {
    tab[ 'key'+i ] ; // ainsi, tu as bien une chaîne de caractère...
}

C'est bon ?
Commenter la réponse de J_G
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 13 juin 2006 à 14:43
0
Merci
C'est ce que je me suis dis, mais quand je fais ça, c'est bizarre, il me dis qu'il y a plus rien dans mon tableau :'(
Ca va me rendre folle ce truc lol

En plus j'avais dis une connerie, y'a bien une méthode pour convertir un entier en chaîne, mais ça me fait la même chose que la méthode que tu me proposes ...

J'comprends pas tout là lol
Commenter la réponse de cs_chamallow
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 14:46
0
Merci
Moi c'est la ['.$k.'-1] que j'aime moyen dans ton exemple de ci dessus...

Etant dans un bon jour, je vais te pondre une fonction pour faire ce que tu veux, bouge pas !
Commenter la réponse de J_G
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 13 juin 2006 à 14:54
0
Merci
Lol merci

Le ['.$k.'-1] en fait je l'ai viré lol :) Mais c'était parce qu'en fait quand je parcours un résultat d'une requête ça part toujours de 1 (parce que j'utilise une fonction pour traiter tout le tralalal d'une requête, et elle a été faite comme ça lol)
Commenter la réponse de cs_chamallow
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 15:52
0
Merci
Ok ok ok ok ok...
Alors, accroche toi au pinceau, j'enlève l'échelle !
<meta http-equiv= "Content-Type" content="text/html; charset=UTF-8" /><meta name="Generator" content="Kate, the KDE Advanced Text Editor" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="Generator" content="Kate, the KDE Advanced Text Editor" />
(Bon, je suis désolé car je sens que l'affichage sera très laid dans le post... Par ailleur, les accents ne sont pas passés au copier/collé.)

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="Generator" content="Kate, the KDE Advanced Text Editor" /> <?php /* Ok, je te fais une petite explication rapide... C'est ce qu'on appelle de "L'extrem programming" ;)...Le but :transformer un tableau PHP, meme mutli-dimensionnel, en un tableau JS!!! Ce tableau ne doit pas contenir d'objet ou ressource PHP !!! (pas de controle, mais le script JS plantera)Comment :L'appel de le fonction envoi a la sortie standard (echo) le script JS permettant de creer le tableauPour la construction des tableaux mutli-dimensionel, elle passe par des tableaux JS temporaires nommes temp_{uniqid}En entree :(array) $php_array => le tableau PHP a traduire en JS(STRING) $js_array_name = > le nom du tableau JS qui sera construit En sortie : (string) => le script JS permettant la construction du tableauEn cas d'errur :FALSE est retourne par la fonction, une erreur de type E_USER_NOTICE est generee*/ function php2js($php_array,$js_array_name){// controle des parametre d'entreeif( !is_array($php_array)){trigger_error("php2js() = > 'array' attendu en parametre 1, '".gettype($array)."' fourni !?!");returnfalse;}if( !is_string($js_array_name)){trigger_error("php2js() = > 'string' attendu en parametre 2, '".gettype ( $array)."' fourni !?!");returnfalse;} // Creation du tableau en JS $script_js = "var $js_array_name = new Array();\n" ; // on rempli le tableau JS a partir des valeurs de son homologue PHP foreach($php_arrayas$key => $value){// pouf, on tombe sur une dimension supplementaireif(is_array($value)){// On demande la creation d'un tableau JS temporaire$temp = uniqid ( 'temp_'); // on lui choisi un nom bien barbare $t = php2js($value,$temp);// est on creer le script// En cas d'erreur, on remonte l'info aux recursions superieuresif($t= == false )returnfalse; // Ajout du script de creation du tableau JS temporaire $script_js. = $t;// puis on applique ce tableau temporaire a celui en cours de construction$script_js.= "{$js_array_name}['{$key}'] = {$temp};\n" ; } // Si la clef est un entier, pas de guillemets elseif(is_int($key))$script_js. = "{$js_array_name}[{$key}] = '{$value}';\n" ; // sinon avec les guillemets else$script_js. = "{$js_array_name}['{$key}'] = '{$value}';\n" ; }return$script_js;} // fin de la fonction php2js // on defini un tableau bien galere...$arr = array('salut'= >'bonjour' , 'pouet' =>'truc','mutli'= >array ( 'truc' =>'chose','bidule'= >'chouette' , 'triple' =>array('hop'= >'la' , 'you' =>'pi')),'piege'= >array ( 5 =>'cinq',6= >'six' , 7 =>'sept'));?><html><head><script type= "text/javascript" >
<!--
// creation du tableau JS ici <?phpecho php2js($arr,'arr');?>
-->
</script></head>
### Le tableau PHP devant etre copie en JS ###
<?phpprint_r($arr);?>

### Le script construisant l'homologue JS ###
<?phpecho php2js($arr,'arr');?>

<script type ="text/javascript">
<!--
// Verification de la bonne creation du tableau...document.write("arr['mutli']['triple']['hop'] = "+arr['mutli']['triple']['hop'] + '
');
document.write("arr['piege'][5] = "+arr['piege'][5] + '
');
document.write("arr['piege'][7] = "+arr['piege'][7] + '
');
document.write("arr['piege'][0] = "+arr['piege'][0] + '
');
-->
</script></html>
Commenter la réponse de J_G
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 15:53
0
Merci
Essai 2 :

<meta http-equiv= "Content-Type" content="text/html; charset=UTF-8" /><meta name="Generator" content="Kate, the KDE Advanced Text Editor" /> <?php /* Ok, je te fais une petite explication rapide... C'est ce qu'on appelle de "L'extrem programming" ;)...Le but :transformer un tableau PHP, meme mutli-dimensionnel, en un tableau JS!!! Ce tableau ne doit pas contenir d'objet ou ressource PHP !!! (pas de controle, mais le script JS plantera)Comment :L'appel de le fonction envoi a la sortie standard (echo) le script JS permettant de creer le tableauPour la construction des tableaux mutli-dimensionel, elle passe par des tableaux JS temporaires nommes temp_{uniqid}En entree :(array) $php_array => le tableau PHP a traduire en JS(STRING) $js_array_name = > le nom du tableau JS qui sera construit En sortie : (string) => le script JS permettant la construction du tableauEn cas d'errur :FALSE est retourne par la fonction, une erreur de type E_USER_NOTICE est generee*/ function php2js($php_array,$js_array_name){// controle des parametre d'entreeif( !is_array($php_array)){trigger_error("php2js() = > 'array' attendu en parametre 1, '".gettype($array)."' fourni !?!");returnfalse;}if( !is_string($js_array_name)){trigger_error("php2js() = > 'string' attendu en parametre 2, '".gettype ( $array)."' fourni !?!");returnfalse;} // Creation du tableau en JS $script_js = "var $js_array_name = new Array();\n" ; // on rempli le tableau JS a partir des valeurs de son homologue PHP foreach($php_arrayas$key => $value){// pouf, on tombe sur une dimension supplementaireif(is_array($value)){// On demande la creation d'un tableau JS temporaire$temp = uniqid ( 'temp_'); // on lui choisi un nom bien barbare $t = php2js($value,$temp);// est on creer le script// En cas d'erreur, on remonte l'info aux recursions superieuresif($t= == false )returnfalse; // Ajout du script de creation du tableau JS temporaire $script_js. = $t;// puis on applique ce tableau temporaire a celui en cours de construction$script_js.= "{$js_array_name}['{$key}'] = {$temp};\n" ; } // Si la clef est un entier, pas de guillemets elseif(is_int($key))$script_js. = "{$js_array_name}[{$key}] = '{$value}';\n" ; // sinon avec les guillemets else$script_js. = "{$js_array_name}['{$key}'] = '{$value}';\n" ; }return$script_js;} // fin de la fonction php2js // on defini un tableau bien galere...$arr = array('salut'= >'bonjour' , 'pouet' =>'truc','mutli'= >array ( 'truc' =>'chose','bidule'= >'chouette' , 'triple' =>array('hop'= >'la' , 'you' =>'pi')),'piege'= >array ( 5 =>'cinq',6= >'six' , 7 =>'sept'));?><html><head><script type= "text/javascript" >
<!--
// creation du tableau JS ici <?phpecho php2js($arr,'arr');?>
-->
</script></head>
### Le tableau PHP devant etre copie en JS ###
<?phpprint_r($arr);?>

### Le script construisant l'homologue JS ###
<?phpecho php2js($arr,'arr');?>

<script type ="text/javascript">
<!--
// Verification de la bonne creation du tableau...document.write("arr['mutli']['triple']['hop'] = "+arr['mutli']['triple']['hop'] + '
');
document.write("arr['piege'][5] = "+arr['piege'][5] + '
');
document.write("arr['piege'][7] = "+arr['piege'][7] + '
');
document.write("arr['piege'][0] = "+arr['piege'][0] + '
');
-->
</script></html>
Commenter la réponse de J_G
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 15:54
0
Merci
Essai 3 :
<meta http-equiv= "Content-Type" content="text/html; charset=UTF-8" /><meta name="Generator" content="Kate, the KDE Advanced Text Editor" /> <?php /* Ok, je te fais une petite explication rapide... C'est ce qu'on appelle de "L'extrem programming" ;)...Le but :transformer un tableau PHP, meme mutli-dimensionnel, en un tableau JS!!! Ce tableau ne doit pas contenir d'objet ou ressource PHP !!! (pas de controle, mais le script JS plantera)Comment :L'appel de le fonction envoi a la sortie standard (echo) le script JS permettant de creer le tableauPour la construction des tableaux mutli-dimensionel, elle passe par des tableaux JS temporaires nommes temp_{uniqid}En entree :(array) $php_array => le tableau PHP a traduire en JS(STRING) $js_array_name = > le nom du tableau JS qui sera construit En sortie : (string) => le script JS permettant la construction du tableauEn cas d'errur :FALSE est retourne par la fonction, une erreur de type E_USER_NOTICE est generee*/ function php2js($php_array,$js_array_name){// controle des parametre d'entreeif( !is_array($php_array)){trigger_error("php2js() = > 'array' attendu en parametre 1, '".gettype($array)."' fourni !?!");returnfalse;}if( !is_string($js_array_name)){trigger_error("php2js() = > 'string' attendu en parametre 2, '".gettype ( $array)."' fourni !?!");returnfalse;} // Creation du tableau en JS $script_js = "var $js_array_name = new Array();\n" ; // on rempli le tableau JS a partir des valeurs de son homologue PHP foreach($php_arrayas$key => $value){// pouf, on tombe sur une dimension supplementaireif(is_array($value)){// On demande la creation d'un tableau JS temporaire$temp = uniqid ( 'temp_'); // on lui choisi un nom bien barbare $t = php2js($value,$temp);// est on creer le script// En cas d'erreur, on remonte l'info aux recursions superieuresif($t= == false )returnfalse; // Ajout du script de creation du tableau JS temporaire $script_js. = $t;// puis on applique ce tableau temporaire a celui en cours de construction$script_js.= "{$js_array_name}['{$key}'] = {$temp};\n" ; } // Si la clef est un entier, pas de guillemets elseif(is_int($key))$script_js. = "{$js_array_name}[{$key}] = '{$value}';\n" ; // sinon avec les guillemets else$script_js. = "{$js_array_name}['{$key}'] = '{$value}';\n" ; }return$script_js;} // fin de la fonction php2js // on defini un tableau bien galere...$arr = array('salut'= >'bonjour' , 'pouet' =>'truc','mutli'= >array ( 'truc' =>'chose','bidule'= >'chouette' , 'triple' =>array('hop'= >'la' , 'you' =>'pi')),'piege'= >array ( 5 =>'cinq',6= >'six' , 7 =>'sept'));?><html><head><script type= "text/javascript" >
<!--
// creation du tableau JS ici <?phpecho php2js($arr,'arr');?>
-->
</script></head>
### Le tableau PHP devant etre copie en JS ###
<?phpprint_r($arr);?>

### Le script construisant l'homologue JS ###
<?phpecho php2js($arr,'arr');?>

<script type ="text/javascript">
<!--
// Verification de la bonne creation du tableau...document.write("arr['mutli']['triple']['hop'] = "+arr['mutli']['triple']['hop'] + '
');
document.write("arr['piege'][5] = "+arr['piege'][5] + '
');
document.write("arr['piege'][7] = "+arr['piege'][7] + '
');
document.write("arr['piege'][0] = "+arr['piege'][0] + '
');
-->
</script></html>
Commenter la réponse de J_G
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 16:15
0
Merci
Essai 4 :
http://www.phpcs.com/code.aspx?ID=38096

Tant qu'a faire ;)

Bonne lecture !
Commenter la réponse de J_G
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 13 juin 2006 à 16:27
0
Merci
Lol vi le 4° essai est un peu mieux que les autre :)

Merci :) jvé essayer de comprendre ce que tu as fais !!
Commenter la réponse de cs_chamallow
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 13 juin 2006 à 17:06
0
Merci
Ben je comprens pas trop en fait lol
Comment ça se fait qu'il te compte pas ton entier en tant qu'entier ??
Commenter la réponse de cs_chamallow
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 17:10
0
Merci
Ben si, il prend bien en compte les index 5,6,7 comme des entier coté JS. La preuve est que je les appelle vai un entier

Sinon, ça correspond à tes besoins ?
Commenter la réponse de J_G
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 13 juin 2006 à 17:27
0
Merci
Ben s'il le compte comme entier ca va pas alors, ça veut dire que t'auras un tableau allant de 0 à 7 là, et moi je veux éviter ça justement !!
Parce que dans ce cas, ça marche aussi dans mon cas, sauf que je veux pas que ça fasse un aussi grand tableau pour 3 index !!

Sinonje voulais te demander, on est obliger de faire la création du tableau JS dans l'entête HTML ??
Commenter la réponse de cs_chamallow
J_G 1406 Messages postés mercredi 17 août 2005Date d'inscription 28 août 2007 Dernière intervention - 13 juin 2006 à 21:25
0
Merci
Re-

regarde mieux mon exemple...
J'ai fait exprès de demander l'index 0 (et j'ai fait le test avec 2). il me répond 'undefined' (idem avec 2).

Donc ce que j'ai fait semble correspondre à ton cahier des charges.

Jusqu'à preuve du contraire bien sûr.
A+
Commenter la réponse de J_G

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.