

Bagaimana untuk menukar tatasusunan php dua dimensi kepada tatasusunan satu dimensi
Aug 03, 2023 am 11:14 AMCara menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam PHP: 1. Gunakan traversal gelung untuk melintasi tatasusunan dua dimensi dan tambahkan setiap elemen pada tatasusunan satu dimensi 2. Gunakan fungsi "array_merge". untuk menggabungkan berbilang tatasusunan Gabung ke dalam tatasusunan, hantar tatasusunan dua dimensi sebagai parameter kepada fungsi "array_merge", dan tukarkannya menjadi tatasusunan satu dimensi 3. Gunakan fungsi "array_reduce" untuk memproses semua nilai; dalam tatasusunan melalui fungsi panggil balik, dan Akhirnya mengembalikan hasil.
Sistem pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1.3, komputer DELL G3.
Dalam pengaturcaraan PHP, kadangkala kita perlu menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi. Tatasusunan dua dimensi terdiri daripada tatasusunan berbilang satu dimensi, dan setiap tatasusunan satu dimensi juga mungkin mengandungi tatasusunan lain. Berikut ialah beberapa cara biasa untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi.
Kaedah 1: Gunakan lintasan gelung
Cara paling langsung ialah menggunakan gelung untuk melintasi tatasusunan dua dimensi dan menambah setiap elemen pada tatasusunan satu dimensi. Berikut ialah kod contoh mudah:
$twoDimensionalArray = array( array("apple", "banana", "orange"), array("car", "bike", "motorcycle"), array("sun", "moon", "stars") ); $oneDimensionalArray = array(); foreach ($twoDimensionalArray as $array) { foreach ($array as $element) { $oneDimensionalArray[] = $element; } } print_r($oneDimensionalArray);
Dalam kod di atas, kami menggunakan dua gelung bersarang untuk melintasi setiap tatasusunan satu dimensi dalam tatasusunan dua dimensi, dan kemudian melintasi elemen dalam setiap tatasusunan satu dimensi, dan Tambahnya kepada tatasusunan 1D. Akhirnya, keputusan dikeluarkan melalui fungsi `print_r`.
Kaedah 2: Gunakan fungsi `array_merge`
PHP menyediakan fungsi `array_merge`, yang boleh menggabungkan berbilang tatasusunan menjadi satu tatasusunan. Kita boleh menghantar tatasusunan dua dimensi sebagai parameter kepada fungsi `array_merge` untuk menukarnya kepada tatasusunan satu dimensi. Di bawah ialah contoh kod menggunakan fungsi `array_merge`:
$twoDimensionalArray = array( array("apple", "banana", "orange"), array("car", "bike", "motorcycle"), array("sun", "moon", "stars") ); $oneDimensionalArray = call_user_func_array('array_merge', $twoDimensionalArray); print_r($oneDimensionalArray);
Dalam kod di atas, kami menggunakan fungsi `call_user_func_array` untuk menghantar tatasusunan dua dimensi sebagai parameter kepada fungsi `array_merge`. Parameter pertama fungsi `call_user_func_array` ialah nama fungsi yang akan dipanggil dan parameter kedua ialah tatasusunan yang diluluskan sebagai parameter. Akhirnya, keputusan dikeluarkan melalui fungsi `print_r`.
Kaedah 3: Gunakan fungsi `array_reduce`
Kaedah lain ialah menggunakan fungsi `array_reduce`, yang boleh memproses semua nilai dalam tatasusunan melalui fungsi panggil balik dan akhirnya mengembalikan hasil. Berikut ialah contoh kod menggunakan fungsi `array_reduce`:
$twoDimensionalArray = array( array("apple", "banana", "orange"), array("car", "bike", "motorcycle"), array("sun", "moon", "stars") ); $oneDimensionalArray = array_reduce($twoDimensionalArray, function ($carry, $item) { return array_merge($carry, $item); }, []); print_r($oneDimensionalArray);
Dalam kod di atas, kami menggunakan fungsi `array_reduce` untuk melelaran ke atas tatasusunan 2D dan menghantar fungsi panggil balik. Fungsi panggil balik menerima dua parameter, `$carry` mewakili nilai pulangan bagi fungsi panggil balik terakhir (nilai awal ialah tatasusunan kosong) dan `$item` mewakili tatasusunan satu dimensi yang dilalui pada masa ini. Dalam fungsi panggil balik, kami menggunakan fungsi `array_merge` untuk menggabungkan elemen dalam setiap tatasusunan satu dimensi ke dalam `$carry`. Akhirnya, keputusan dikeluarkan melalui fungsi `print_r`.
Tidak kira kaedah yang anda pilih, anda boleh menukar tatasusunan 2D kepada tatasusunan 1D. Mengikut keperluan sebenar, anda boleh memilih kaedah yang paling sesuai untuk anda untuk menangani masalah penukaran tatasusunan dua dimensi.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan php dua dimensi kepada tatasusunan satu dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara menggunakan tatasusunan PHP untuk menjana dan memaparkan carta dan graf statistik

Cara menggunakan tatasusunan PHP untuk menjana tayangan slaid dinamik dan paparan imej

Cara menggunakan tatasusunan PHP untuk melaksanakan log masuk pengguna dan fungsi pengurusan kebenaran

Apakah pasangan nilai kunci tatasusunan php?

Bagaimana untuk menentukan berapa banyak tatasusunan yang terdapat dalam php

Pelaksanaan berkesan kesatuan tatasusunan dalam PHP

Penerokaan teknik pengoptimuman prestasi untuk tatasusunan PHP

Apakah fungsi dalam PHP untuk menentukan sama ada tatasusunan kosong?