Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam php

Bagaimana untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam php

PHPz
PHPzasal
2023-04-20 13:54:25709semak imbas

PHP ialah bahasa pengaturcaraan yang sangat popular, terutamanya dalam dunia pembangunan web. Untuk pengaturcara PHP, bekerja dengan tatasusunan adalah tugas yang sangat biasa. Dalam banyak kes, kita perlu menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi. Artikel ini menerangkan cara untuk mencapai ini dalam PHP.

Apakah tatasusunan dua dimensi dan tatasusunan satu dimensi?

Dalam PHP, tatasusunan boleh dilihat sebagai jenis pembolehubah yang digunakan untuk menyimpan berbilang nilai. Setiap nilai ini dipanggil elemen, dan setiap elemen dikenal pasti oleh indeks yang unik. Terdapat dua jenis tatasusunan dalam PHP: tatasusunan satu dimensi dan tatasusunan dua dimensi.

Tatasusunan satu dimensi ialah senarai ringkas yang terdiri daripada indeks dan nilai, di mana setiap nilai mempunyai indeks yang unik. Kita boleh menggunakan iterator untuk melintasi tatasusunan satu dimensi.

Susun atur dua dimensi ialah senarai yang terdiri daripada berbilang senarai. Mereka terdiri daripada indeks utama dan sub-indeks. Kita perlu menggunakan iterator bersarang untuk melintasi tatasusunan dua dimensi.

Bagaimana untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi?

Dalam PHP, kita boleh menggunakan fungsi array_column terbina dalam dengan mudah untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi. Fungsi array_column membolehkan kita mengambil lajur daripada tatasusunan berbilang dimensi dan mengembalikan tatasusunan satu dimensi baharu.

Sintaks array_column adalah seperti berikut:

array_column(array $array, mixed $column_key, mixed $index_key = null): array

Di mana, parameter $array ialah tatasusunan yang ditentukan, $column_key ialah nama kunci atau kedudukan nilai yang akan dikembalikan dan $index_key digunakan sebagai tatasusunan baru Nama kunci atau kedudukan kunci. Jika parameter $index_key tidak disediakan, indeks berangka digunakan.

Berikut ialah contoh menukar tatasusunan 2D kepada tatasusunan 1D:

$array = array(
    array('id' => 1, 'name' => 'Tom', 'age' => 30),
    array('id' => 2, 'name' => 'Jerry', 'age' => 25),
    array('id' => 3, 'name' => 'Mike', 'age' => 35)
);

$names = array_column($array, 'name');
print_r($names);

Ini akan mengeluarkan yang berikut:

Array
(
    [0] => Tom
    [1] => Jerry
    [2] => Mike
)

Dalam contoh ini, kami Gunakan array_column berfungsi untuk mengekstrak nilai 'nama' setiap elemen dalam tatasusunan dua dimensi $array untuk menjana tatasusunan satu dimensi $namas.

Satu perkara yang perlu diambil perhatian ialah jika anda ingin menggunakan indeks berangka sebagai kunci tatasusunan baharu, gunakan nombor dalam parameter $index_key seperti ini:

$ids = array_column($array, 'id', 0);
print_r($ids);

Ini akan mengeluarkan berikut:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

Dalam contoh ini, kami menetapkan kunci tatasusunan baharu kepada elemen pertama tatasusunan 2D asal.

Kesimpulan

Memanipulasi tatasusunan ialah tugas yang sangat biasa dalam pembangunan PHP. Menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi ialah satu operasi dalam tugasan ini. Dalam PHP, kita boleh mencapai ini dengan mudah menggunakan fungsi array_column. Fungsi ini membolehkan kami mengekstrak lajur daripada tatasusunan dua dimensi dan menjana tatasusunan satu dimensi baharu.

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!

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