Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh menghantar tatasusunan PHP dengan berkesan kepada fungsi JavaScript untuk manipulasi?

Bagaimanakah saya boleh menghantar tatasusunan PHP dengan berkesan kepada fungsi JavaScript untuk manipulasi?

Barbara Streisand
Barbara Streisandasal
2024-11-08 04:46:01296semak imbas

How do I effectively pass a PHP array to a JavaScript function for manipulation?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn