Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan php kepada tatasusunan objek js

Bagaimana untuk menukar tatasusunan php kepada tatasusunan objek js

PHPz
PHPzasal
2023-04-23 19:30:28689semak imbas

Dalam pembangunan bahagian hadapan, selalunya terdapat situasi yang memerlukan untuk menukar tatasusunan dalam PHP kepada tatasusunan objek JavaScript. Sudah tentu, ini tidak sukar dan hanya memerlukan operasi mudah. Artikel ini akan memperkenalkan kaedah untuk menukar tatasusunan PHP secara terus kepada tatasusunan objek JavaScript menggunakan fungsi json_encode().

Tukar tatasusunan PHP kepada rentetan JSON

Sebelum menukar tatasusunan PHP kepada tatasusunan objek JavaScript, anda perlu menukar tatasusunan PHP kepada rentetan JSON terlebih dahulu. Gunakan fungsi terbina dalam PHP json_encode() untuk menukar tatasusunan PHP kepada rentetan JSON. Berikut ialah contoh:

$data = array(
    array('name' => 'Amy', 'age' => 22),
    array('name' => 'Bob', 'age' => 25),
    array('name' => 'Cathy', 'age' => 28)
);

$json_string = json_encode($data);
echo $json_string;

Kod di atas menukar tatasusunan $data kepada rentetan JSON dan mengeluarkannya menggunakan echo. Hasil keluarannya ialah:

[{"name":"Amy","age":22},{"name":"Bob","age":25},{"name":"Cathy","age":28}]

Tukar rentetan JSON kepada tatasusunan objek JavaScript

Selepas mendapat rentetan JSON, anda hanya perlu menggunakan fungsi JSON.parse() untuk menukarnya menjadi objek JavaScript . Berikut ialah contoh:

var data = JSON.parse('<?php echo $json_string; ?>');
console.log(data);

Kod di atas mengeluarkan nilai $json_string ke dalam fungsi JSON.parse(), menukarnya menjadi objek JavaScript dan mengeluarkannya menggunakan console.log(). Hasil output ialah:

[
    { name: "Amy", age: 22 },
    { name: "Bob", age: 25 },
    { name: "Cathy", age: 28 }
]

Kaedah di atas hanya boleh menukar tatasusunan PHP kepada tatasusunan objek JavaScript. Jika anda perlu menggunakannya sebagai fungsi atau pembolehubah dalam JavaScript, anda boleh terus menggabungkan kod di atas menjadi rentetan. Contohnya:

var data = JSON.parse('<?php echo json_encode($data); ?>');

Gunakan fungsi array_map() PHP

Selain kaedah yang diperkenalkan di atas, anda juga boleh menggunakan fungsi terbina dalam PHP array_map() untuk menukar setiap elemen dalam tatasusunan ke dalam objek JavaScript. Berikut ialah contoh penggunaan fungsi array_map():

$data = array(
    array('name' => 'Amy', 'age' => 22),
    array('name' => 'Bob', 'age' => 25),
    array('name' => 'Cathy', 'age' => 28)
);

$js_array = array_map(function($item) {
    return "{'name': '{$item['name']}', 'age': {$item['age']}}";
}, $data);

echo "[" . implode(",", $js_array) . "]";

Kod di atas menggunakan fungsi array_map() untuk menukar setiap elemen dalam tatasusunan $data kepada objek JavaScript dan menyimpannya dalam $js_array dalam tatasusunan. Akhirnya, tatasusunan $js_array ditukar kepada tatasusunan JSON untuk output. Hasil keluarannya ialah:

[{'name': 'Amy', 'age': 22},{'name': 'Bob', 'age': 25},{'name': 'Cathy', 'age': 28}]

Ringkasan

Artikel ini memperkenalkan dua kaedah untuk menukar tatasusunan PHP kepada tatasusunan objek JavaScript Salah satu daripadanya ialah menggunakan fungsi json_encode() untuk menukar PHP secara langsung tatasusunan. ke dalam rentetan JSON, dan kemudian gunakan fungsi JSON.parse() untuk menukarnya menjadi tatasusunan objek JavaScript. Yang lain ialah menggunakan fungsi array_map() untuk menukar setiap elemen tatasusunan PHP kepada objek JavaScript. Kedua-dua kaedah boleh menukar tatasusunan PHP kepada tatasusunan objek JavaScript, dan pembaca boleh memilih kaedah mana mengikut keperluan mereka sendiri.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan php kepada tatasusunan objek js. 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