Tableau PHP transmis à la fonction JavaScript
La manipulation des tableaux PHP en JavaScript est une exigence courante. Ce guide présente un moyen efficace de transmettre des tableaux PHP aux fonctions JavaScript à l'aide de JSON.
Problème :
J'essaie de passer un tableau de PHP à une fonction en JavaScript, mais je rencontre un problème. L'exemple de code est le suivant :
<?php $au = []; for ($counter = 0; $counter < count($au); $counter++) { switch ($au[$counter]->id) { case pageID.'/insights/page_active_users/day': $day[] = $au[$counter]->value; break; (...) } } ?> <script> drawChart(600/50, '<?php echo $day; ?>', <?php echo $week; ?>, <?php echo $month; ?>, <?php echo createDatesArray(cal_days_in_month(CAL_GREGORIAN, date('m',strtotime('-1 day')), date('Y',strtotime('-1 day')))); ?>); </script>
Solution de contournement :
Utilisez JSON pour encoder le tableau PHP en chaîne et transmettez-le à une fonction JavaScript. Le format d'encodage est le suivant :
echo json_encode($day);
En JavaScript, utilisez la méthode JSON.parse() pour analyser la chaîne JSON reçue :
var obj = JSON.parse('<?php echo json_encode($day); ?>');
Le code modifié est le suivant :
<?php $au = []; for ($counter = 0; $counter < count($au); $counter++) { switch ($au[$counter]->id) { (...) } } ?> <script> drawChart(600/50, <?php echo json_encode($day); ?>, <?php echo json_encode($week); ?>, <?php echo json_encode($month); ?>, <?php echo createDatesArray(cal_days_in_month(CAL_GREGORIAN, date('m',strtotime('-1 day')), date('Y',strtotime('-1 day')))); ?>); </script>
Cette approche garantit que les valeurs du tableau PHP sont transmises aux fonctions JavaScript de manière sûre et fiable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!