cari
Rumahpembangunan bahagian belakangmasalah PHPphp pelbagai dimensi kepada tatasusunan dua dimensi

Dalam PHP, pembangun selalunya perlu berurusan dengan struktur data berbilang dimensi yang diperoleh daripada pelbagai sumber, dan struktur data ini mungkin mengandungi jenis data yang sangat kompleks. Tatasusunan berbilang dimensi ialah alat yang sangat berguna apabila berurusan dengan struktur data ini, tetapi dalam beberapa kes, kita mungkin perlu menukar tatasusunan berbilang dimensi kepada tatasusunan dua dimensi.

Dalam artikel ini, kami akan meneroka cara menggunakan PHP untuk menukar tatasusunan berbilang dimensi kepada tatasusunan dua dimensi untuk keperluan pemprosesan data yang lebih umum.

  1. Tentukan tatasusunan berbilang dimensi

Untuk menunjukkan cara menukar tatasusunan berbilang dimensi kepada tatasusunan dua dimensi, kita perlu mentakrifkan tatasusunan berbilang dimensi terlebih dahulu. Kami akan mencipta tatasusunan "Buah" dengan tiga kategori utama, setiap satu mengandungi tiga entri berbeza.

$fruits = array(

"apples" => array(
    array("brand" => "Granny Smith", "color" => "green", "price" => 0.75),
    array("brand" => "Fuji", "color" => "red", "price" => 0.50),
    array("brand" => "Golden Delicious", "color" => "yellow", "price" => 0.60)
),
"oranges" => array(
    array("brand" => "Valencia", "color" => "orange", "price" => 0.80),
    array("brand" => "Navel", "color" => "orange", "price" => 0.85),
    array("brand" => "Blood", "color" => "red", "price" => 1.10)
),
"bananas" => array(
    array("brand" => "Cavendish", "color" => "yellow", "price" => 0.25),
    array("brand" => "Lady Finger", "color" => "green", "price" => 0.30),
    array("brand" => "Red Dacca", "color" => "red", "price" => 0.35)
)

);

Dalam tatasusunan di atas, kami telah mencipta susunan buah-buahan dengan tiga kategori, di mana setiap kategori mengandungi Tiga jenama berbeza, kombinasi warna dan harga.

  1. Tukar tatasusunan berbilang dimensi kepada tatasusunan dua dimensi

Sekarang kita telah menentukan tatasusunan berbilang dimensi dan memahami cara ia disusun, kita boleh mula menulis kod kepada Tukar ia kepada tatasusunan 2D.

Kita boleh menggunakan fungsi array_map PHP, yang menggunakan fungsi panggil balik untuk setiap elemen dalam tatasusunan berbilang dimensi dan mengembalikan tatasusunan baharu yang mengandungi hasil fungsi panggil balik.

Berikut ialah kod sampel yang mengandungi fungsi panggil balik yang menukar tatasusunan berbilang dimensi kepada tatasusunan dua dimensi:

$flat_fruits = array();
array_map(function ($kumpulan) gunakan (&$flat_fruits) {

foreach ($group as $item) {
    $flat_fruits[] = array(
        "category" => array_keys($group)[0],
        "brand" => $item["brand"],
        "color" => $item["color"],
        "price" => $item["price"]
    );
}

}, $fruits);

Dalam kod di atas, kami mula-mula mencipta tatasusunan baharu bernama $flat_fruits untuk menyimpan hasil kami yang ditukar. Kami kemudian menggunakan fungsi array_map untuk lelaran melalui setiap entri tatasusunan $fruits dan menyerahkannya kepada fungsi tanpa nama yang melakukan beberapa operasi pada entri tersebut.

Dalam fungsi tanpa nama ini, kami mula-mula menggunakan gelung foreach untuk melelakan semua item yang mungkin dalam setiap kategori. Untuk setiap item, kami membalutnya dalam tatasusunan baharu dan menyimpan jenama, warna, harga dan kategori item (di sini kami hanya menggunakan nama kategori). Akhir sekali, kami menambah tatasusunan baharu ini pada tatasusunan $flat_fruits, yang menjadi tatasusunan 2D kami yang ditukar.

  1. Hasil keluaran

Untuk mengesahkan bahawa kod kami berfungsi, kami hanya boleh mengeluarkan tatasusunan $flat_fruits dan melihat nilai yang ditukar. Berikut ialah kod yang menghasilkan tatasusunan $flat_fruits:

foreach ($flat_fruits as $item) {

echo $item["category"] . " > " . $item["brand"] . " (" . $item["color"] . ", $" . $item["price"] . ")\n";

}

Dalam kod di atas, kami menggunakan foreach gelung untuk Berulang pada setiap item dalam tatasusunan $flat_fruits. Untuk setiap item, kami memformat kandungannya ke dalam rentetan dan mencetaknya ke terminal.

Keluaran harus menyerupai berikut:

epal > Smith (hijau, $0.75)
epal > kuning, $0.6)
oren > Valencia (oren, $0.8)
oren > oren > $0.25)
pisang > Lady Finger (hijau, $0.3)
pisang > Red Dacca (merah, $0.35)

Seperti yang anda lihat, kami berjaya menukar tatasusunan berbilang dimensi kepada binari tatasusunan dimensi tatasusunan, dan hasilnya diformat dan dikeluarkan. Ia boleh dilihat bahawa fungsi array_map PHP adalah alat yang sangat berguna untuk memproses tatasusunan berbilang dimensi. Ia membolehkan pembangun beroperasi dengan mudah pada struktur data berbilang dimensi dan boleh menggunakan beberapa logik transformasi dengan mudah untuk mengubah data kepada sebarang format yang dikehendaki.

Atas ialah kandungan terperinci php pelbagai dimensi kepada tatasusunan dua dimensi. 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular