Dalam rangka kerja Yii2, kita selalunya perlu menukar antara objek dan tatasusunan. Dalam PHP, tatasusunan dan objek adalah jenis data yang sangat penting. Tatasusunan boleh menyimpan pelbagai jenis data dan boleh diakses melalui indeks. Objek ialah jenis data khas yang boleh mengandungi sifat dan kaedah. Dalam rangka kerja Yii2, kita boleh menggunakan beberapa fungsi untuk menukar antara objek dan tatasusunan.
Dalam PHP, kita boleh menggunakan fungsi terbina dalam get_object_vars()
dan json_decode()
untuk menukar objek kepada tatasusunan.
get_object_vars()
Fungsi: Mengembalikan tatasusunan bersekutu yang terdiri daripada atribut objek dan nilai atribut. $data = new YourDataModel(); $array = get_object_vars($data);
json_decode()
Fungsi: Menukar rentetan format JSON kepada objek atau tatasusunan PHP. $data = new YourDataModel(); $json = json_encode($data); $array = json_decode($json, true);
Rangka kerja Yii2 menyediakan kelas ArrayHelper yang sangat mudah, yang mengandungi satu siri kaedah untuk melaksanakan operasi tatasusunan . Ini termasuk penukaran antara objek dan tatasusunan.
toArray()
Kaedah: Menukar objek kepada tatasusunan. $data = new YourDataModel(); $array = \yii\helpers\ArrayHelper::toArray($data);
toObject()
Kaedah: Menukar tatasusunan kepada objek. $array = ['name' => 'Tom', 'age' => 30]; $obj = \yii\helpers\ArrayHelper::toObject($array);
Kami juga boleh menyesuaikan kaedah untuk menukar antara objek dan tatasusunan.
function objectToArray($obj) { $array = []; if (is_object($obj)) { $obj = get_object_vars($obj); } if (is_array($obj)) { foreach ($obj as $key => $value) { $array[$key] = objectToArray($value); } } else { $array = $obj; } return $array; } function arrayToObject($array) { $object = new stdClass(); if (!is_array($array)) { return $array; } foreach ($array as $key => $value) { $object->$key = arrayToObject($value); } return $object; }
Contoh penggunaan:
$data = new YourDataModel(); $array = objectToArray($data); $array = ['name' => 'Tom', 'age' => 30]; $obj = arrayToObject($array);
Ringkasan:
Dalam rangka kerja Yii2, kita boleh menggunakan fungsi terbina dalam PHP dan kelas ArrayHelper yang disediakan dalam Yii2 untuk berkomunikasi antara objek dan penukaran tatasusunan. Jika operasi yang lebih fleksibel diperlukan, kami juga boleh menyesuaikan kaedah untuk mencapai penukaran. Tidak kira kaedah yang anda gunakan, adalah penting untuk memahami persamaan dan perbezaan antara objek dan tatasusunan serta cara menukarnya. Dengan cara ini, kita boleh menggunakan pelbagai fungsi rangka kerja Yii2 dengan lebih baik.
Atas ialah kandungan terperinci yii2 php objek kepada tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!