Rumah masalah biasa Bagaimana untuk menukar tatasusunan php dua dimensi kepada tatasusunan satu dimensi

Bagaimana untuk menukar tatasusunan php dua dimensi kepada tatasusunan satu dimensi

Aug 03, 2023 am 11:14 AM
tatasusunan php tatasusunan dua dimensi tatasusunan satu dimensi

Cara 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.

Bagaimana untuk menukar tatasusunan php dua dimensi kepada tatasusunan satu dimensi

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan tatasusunan PHP untuk menjana dan memaparkan carta dan graf statistik Cara menggunakan tatasusunan PHP untuk menjana dan memaparkan carta dan graf statistik Jul 15, 2023 pm 12:24 PM

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 menjana tayangan slaid dinamik dan paparan imej Jul 15, 2023 pm 01:17 PM

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 Cara menggunakan tatasusunan PHP untuk melaksanakan log masuk pengguna dan fungsi pengurusan kebenaran Jul 15, 2023 pm 08:55 PM

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

Apakah pasangan nilai kunci tatasusunan php? Apakah pasangan nilai kunci tatasusunan php? Aug 03, 2023 pm 02:20 PM

Apakah pasangan nilai kunci tatasusunan php?

Bagaimana untuk menentukan berapa banyak tatasusunan yang terdapat dalam php Bagaimana untuk menentukan berapa banyak tatasusunan yang terdapat dalam php Aug 04, 2023 pm 05:40 PM

Bagaimana untuk menentukan berapa banyak tatasusunan yang terdapat dalam php

Pelaksanaan berkesan kesatuan tatasusunan dalam PHP Pelaksanaan berkesan kesatuan tatasusunan dalam PHP Apr 30, 2024 pm 01:03 PM

Pelaksanaan berkesan kesatuan tatasusunan dalam PHP

Penerokaan teknik pengoptimuman prestasi untuk tatasusunan PHP Penerokaan teknik pengoptimuman prestasi untuk tatasusunan PHP Mar 13, 2024 pm 03:03 PM

Penerokaan teknik pengoptimuman prestasi untuk tatasusunan PHP

Apakah fungsi dalam PHP untuk menentukan sama ada tatasusunan kosong? Apakah fungsi dalam PHP untuk menentukan sama ada tatasusunan kosong? Aug 03, 2023 pm 05:15 PM

Apakah fungsi dalam PHP untuk menentukan sama ada tatasusunan kosong?