Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menetapkan Data Tatasusunan Bersarang Secara Dinamik Menggunakan Laluan Rentetan dalam PHP?

Bagaimana untuk Menetapkan Data Tatasusunan Bersarang Secara Dinamik Menggunakan Laluan Rentetan dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-11 09:48:10429semak imbas

How to Dynamically Set Nested Array Data Using a String Path in PHP?

Menggunakan Laluan Rentetan untuk Menetapkan Data Tatasusunan Bersarang

Soalan:
Bagaimana saya boleh menetapkan bersarang secara dinamik data tatasusunan menggunakan laluan rentetan, seperti "cars.honda.civic" ke $data'cars'['civic'] tanpa bergantung pada eval()?

Jawapan:
Pengendali rujukan (&) membenarkan tetapan dinamik ini:

$temp = &$data;
foreach ($exploded_path as $key) {
    $temp = &$temp[$key];
}
$temp = $value;
unset($temp);

Dengan menggunakan pendekatan ini, anda boleh menetapkan data tatasusunan bersarang dengan cekap tanpa memerlukan eval(). Begini cara ia berfungsi:

  • $temp dimulakan sebagai rujukan kepada tatasusunan akar ($data).
  • Gelung berulang di atas laluan yang meletup, mengemas kini $temp kepada rujukan berturut-turut tatasusunan sedia ada.
  • $temp akhirnya diberikan nilai yang diingini $value.
  • unset($temp) mengosongkan rujukan, mengelakkan kesan sampingan yang tidak disengajakan.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Data Tatasusunan Bersarang Secara Dinamik Menggunakan Laluan Rentetan dalam PHP?. 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
Artikel sebelumnya:PHP HyperF -> Firebase JWTArtikel seterusnya:PHP HyperF -> Firebase JWT