tatasusunan PHP dihantar ke fungsi JavaScript
Memanipulasi tatasusunan PHP dalam JavaScript ialah keperluan biasa. Panduan ini menggariskan cara yang cekap untuk menghantar tatasusunan PHP ke fungsi JavaScript menggunakan JSON.
Masalah:
Saya cuba menghantar tatasusunan daripada PHP kepada fungsi dalam JavaScript, tetapi saya menghadapi masalah. Contoh kod adalah seperti berikut:
<?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>
Penyelesaian:
Gunakan JSON untuk mengekod tatasusunan PHP kepada rentetan dan hantarkannya kepada fungsi JavaScript. Format pengekodan adalah seperti berikut:
echo json_encode($day);
Dalam JavaScript, gunakan kaedah JSON.parse() untuk menghuraikan rentetan JSON yang diterima:
var obj = JSON.parse('<?php echo json_encode($day); ?>');
Kod yang diubah suai adalah seperti berikut:
<?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>
Pendekatan ini memastikan bahawa nilai tatasusunan PHP dihantar ke fungsi JavaScript dengan cara yang selamat dan boleh dipercayai.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menghantar tatasusunan PHP dengan berkesan kepada fungsi JavaScript untuk manipulasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!