11485 sujets

JavaScript, DOM et API Web HTML5

Bonjour, je rencontre un problème quand au passage d'un tableau php vers javascript.

Voici mon tableau php :
Array
(
   [9] => Array
        (
            [1] => Array
                (
                    [Oui] => 1
                )

            [2] => Array
                (
                    [En voiture] => 1
                )
        )
    [2] => Array
        (
            [1] => Array
                (
                    [Elle] => 1
                    [Lui] => 1
                )
            [2] => Array
                (
                    [Demain] => 2
                )
            [3] => Array
                (
                    [JSP] => 2
                )
        )
)


Et mon code php pour transformer mon tableau en javascript:
<script type="text/javascript">
				var tab = new Array(<?=sizeof($nbChoix)?>);
				<?php foreach ($nbChoix as $key => $value): ?>
					tab[<?=$key?>]=new Array(<?=sizeof($nbChoix[$key])?>);
						<?php foreach ($nbChoix[$key] as $key2 => $value2): ?>
							tab[<?=$key?>][<?=$key2?>]=new Array(<?=sizeof($nbChoix[$key][$key2])?>);
							<?php foreach ($nbChoix[$key][$key2] as $key3 => $value3): ?>
								tab[<?=$key?>][<?=$key2?>]["<?=$key3?>"] = <?=$value3?>;
							<?php endforeach; ?>
						<?php endforeach; ?>
				<?php endforeach; ?>
				console.log(tab[9][1]);
				console.log(tab[9][1]['OUI']);
			</script>

Le 1er console.log donne : ["oui" : 1]
Le 2éme donne : undefined
j'aimerais donc obtenir la valeur contenue dans le OUI, le 1.
En espérant que vous puissiez m'aider.
Merci d'avance.
Modifié par ThomasLg (19 Jun 2019 - 19:40)
Modérateur
Sinon:

« Le 1er console.log donne : ["oui" : 1] » (tab[9][1])

donc tab[9][1]['OUI'] est undefined, effectivement. Ce qui est définit c'est tab[9][1]['oui'] ou plutôt tab[9][1].oui

Sinon à la fin tu ajoute des propriétés à des tableaux qui restent vides. (Il n'y a pas de concept de tableau associatif en javascript.

utilise json_encode ce sera plus propre.
Bonjour, merci pour vos réponses.
J'ai aussi essayé json encode, mais pareil je n'arrive pas à récupérer les valeurs dans le tableau, je n'ai trouvé aucune information à ce sujet sur internet.
Je viens de ressayer et effectivement le problème était mon écriture du OUI qui n'était pas du tt la bonne, erreurs bête, tout fonctionne de cette manière et avec json_encode qui est effectivement beaucoup plus simple à mettre en place.
Merci pour votre aide.