Dalam PHP, tatasusunan dua dimensi sering digunakan untuk menyimpan data yang kompleks. Walaupun tatasusunan dua dimensi boleh digunakan dengan mudah, kadangkala kita perlu menukarnya kepada tatasusunan satu dimensi untuk memudahkan operasi data kita. Artikel ini akan memperkenalkan anda kepada cara menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam PHP.
Menggunakan gelung foreach ialah salah satu cara paling mudah untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi. Ia boleh lelaran melalui setiap sub-tatasusunan tatasusunan dua dimensi dan kemudian meletakkan setiap elemen dalam tatasusunan kecil ke dalam tatasusunan satu dimensi.
Berikut ialah kod sampel untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi menggunakan gelung foreach:
$twoDimensionalArray = array( array("apple", "banana", "cherry"), array("orange", "pear", "grape") ); $oneDimensionalArray = array(); foreach ($twoDimensionalArray as $subArray) { foreach ($subArray as $value) { $oneDimensionalArray[] = $value; } }
Dalam kod di atas, kami mula-mula mentakrifkan dua- tatasusunan dimensi $twoDimensionalArray. Kemudian kami mentakrifkan tatasusunan kosong $oneDimensionalArray untuk menyimpan tatasusunan satu dimensi yang ingin kami tukarkan. Seterusnya, kami menggunakan gelung foreach untuk merentasi setiap sub-tatasusunan tatasusunan dua dimensi, dan kemudian menggunakan gelung foreach secara dalaman untuk melintasi unsur-unsur dalam setiap sub-tatasusunan dan menambah elemen pada $oneDimensionalArray.
Akhirnya, $oneDimensionalArray akan mengandungi elemen dalam semua subbarray.
Fungsi array_merge() ialah fungsi dalam PHP yang digunakan untuk menggabungkan dua atau lebih tatasusunan. Apabila anda menghantar tatasusunan dua dimensi kepada fungsi array_merge(), ia menukar elemen dalam semua sub-susun kepada tatasusunan satu dimensi dan menggabungkan tatasusunan satu dimensi ini menjadi satu tatasusunan besar.
Berikut ialah contoh kod untuk menukar tatasusunan 2D kepada tatasusunan 1D menggunakan fungsi array_merge():
$twoDimensionalArray = array( array("apple", "banana", "cherry"), array("orange", "pear", "grape") ); $oneDimensionalArray = array_merge(...$twoDimensionalArray);
Dalam kod di atas, kami menghantar $twoDimensionalArray kepada array_merge() berfungsi dan mengembangkannya menggunakan... notasi. Menggunakan pendekatan ini, kita tidak perlu mengulang secara manual melalui elemen dalam tatasusunan. Fungsi array_merge() secara automatik menggabungkan elemen dalam semua sub-tatasusunan ke dalam satu tatasusunan besar dan memberikannya kepada $oneDimensionalArray.
Fungsi array_reduce() ialah fungsi lanjutan dalam PHP, digunakan untuk mengira elemen dalam tatasusunan dan akhirnya mengembalikan satu nilai. Walau bagaimanapun, kami juga boleh menggunakannya untuk menukar tatasusunan 2D kepada tatasusunan 1D.
Berikut ialah contoh kod untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi menggunakan fungsi array_reduce():
$twoDimensionalArray = array( array("apple", "banana", "cherry"), array("orange", "pear", "grape") ); $oneDimensionalArray = array_reduce($twoDimensionalArray, function($result, $subArray) { return array_merge($result, $subArray); }, array());
Dalam kod di atas, kami mula-mula mentakrifkan array kosong $oneDimensionalArray , digunakan untuk menyimpan tatasusunan satu dimensi yang ingin kita tukar. Seterusnya, kami menggunakan fungsi array_reduce() untuk merentasi tatasusunan dua dimensi $twoDimensionalArray, dan mencantumkan elemen dalam setiap sub-array ke dalam $oneDimensionalArray menggunakan fungsi array_merge().
Akhirnya, $oneDimensionalArray akan mengandungi elemen dalam semua subbarray.
Kesimpulan
Artikel ini memperkenalkan tiga kaedah untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam PHP. Menggunakan gelung foreach ialah salah satu cara paling mudah untuk melelaran secara manual melalui setiap elemen dalam tatasusunan. Fungsi array_merge() secara automatik boleh menggabungkan elemen dalam semua sub-array ke dalam tatasusunan besar dan mengembalikan tatasusunan satu dimensi. Akhir sekali, fungsi array_reduce() boleh menggunakan fungsi panggil balik untuk melakukan pengiraan pada tatasusunan Dalam fungsi panggil balik, fungsi array_merge() boleh digunakan untuk menggabungkan elemen dalam semua sub-tatasusunan menjadi satu tatasusunan besar.
Tidak kira kaedah yang anda pilih, anda boleh menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi untuk memudahkan operasi data anda.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!