Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menggantikan nilai tatasusunan dua dimensi dengan kunci dalam php

Bagaimana untuk menggantikan nilai tatasusunan dua dimensi dengan kunci dalam php

PHPz
Lepaskan: 2023-04-18 15:35:04
asal
1087 orang telah melayarinya

PHP ialah bahasa pengaturcaraan peringkat tinggi sumber terbuka yang digunakan secara meluas dan digunakan secara meluas dalam pembangunan web. Fleksibiliti dan kemudahan penggunaannya menjadikannya pilihan pertama untuk banyak rangka kerja tapak web, CMS, sistem blog, dll. Dalam PHP, kita sering perlu berurusan dengan tatasusunan. Artikel ini akan menunjukkan kepada anda cara menggantikan kekunci tatasusunan dua dimensi dengan nilai tatasusunan dua dimensi menggunakan PHP.

1 Konsep tatasusunan dua dimensi

Tatasusunan dua dimensi ialah tatasusunan, dan setiap elemen tatasusunan ini juga boleh mengandungi sebarang jenis data, seperti rentetan, nombor, nilai Boolean, objek, dsb.

$pengguna = tatasusunan(
tatasusunan('id' => 1001, 'nama' => 'Tom', 'umur' => 23),
tatasusunan('id ' => 1002, 'nama' => 'Jerry', 'umur' => ' => 20)
);

Kod di atas ialah tatasusunan dua dimensi yang mengandungi tiga elemen Setiap elemen mengandungi tiga pasangan nilai kunci, masing-masing mewakili ID, nama dan umur pengguna.

2 Gantikan nilai tatasusunan dengan kunci

Kadangkala, kita perlu menggunakan nilai pasangan nilai kunci dalam tatasusunan sebagai kunci tatasusunan baharu, supaya kita boleh menggunakan nilai untuk melaksanakan Pertanyaan, isihan dan operasi lain. Anda boleh menggelungkan melalui tatasusunan dua dimensi dan kemudian menukar pasangan nilai kunci setiap elemen kepada tatasusunan yang nilainya adalah kunci.

Sebagai contoh, kita perlu membuat kunci tatasusunan baharu berdasarkan nilai id setiap elemen dalam tatasusunan dua dimensi.

$pengguna = tatasusunan(

tatasusunan('id' => 1001, 'nama' => 'Tom', 'umur' => 23),
tatasusunan('id ' => 1002, 'nama' => 'Jerry', 'umur' => ' => 20)
);

$newArr = array();

foreach ($pengguna sebagai $pengguna) {

$newArr[$user['id']] = $user;
}

Dalam kod di atas, kami mengulangi tatasusunan $users dan menetapkan kunci tatasusunan baharu kepada nilai id setiap elemen. Akhirnya, kami mendapat tatasusunan baharu yang mengandungi elemen yang dikunci oleh id.

3. Gunakan fungsi terbina dalam PHP untuk mencapai

Selain traversal manual, kami juga boleh menggunakan array_column() fungsi terbina dalam PHP untuk melaksanakan nilai utama bagi dua dimensi tatasusunan sebagai kunci.

$pengguna = tatasusunan(

tatasusunan('id' => 1001, 'nama' => 'Tom', 'umur' => 23),

tatasusunan('id ' => 1002, 'nama' => 'Jerry', 'umur' => ' => 20)
);

$newArr = array_column($users, null, 'id');

Dalam kod di atas, yang pertama daripada array_column( ) fungsi Parameter ialah tatasusunan dua dimensi yang perlu dikendalikan, dan parameter kedua ialah medan yang perlu ditukar Gunakan null di sini untuk menukar keseluruhan elemen. Parameter ketiga ialah medan yang sepadan dengan nilai kunci baharu.

4. Kes penggunaan praktikal

Kaedah pelaksanaan di atas sangat berguna dalam pembangunan sebenar. Contohnya, semasa membangunkan tapak web e-dagang, kami perlu mengesyorkan produk berkaitan berdasarkan sejarah penyemakan imbas pengguna. Katakan kita mempunyai jadual produk di mana ID, nama, harga, dsb. bagi setiap produk disimpan sebagai tatasusunan bersekutu. Untuk menjana senarai cadangan produk, kami perlu mencari tatasusunan ini berdasarkan sejarah penyemakan imbas pelanggan.

$products = array(

array('id' => 1, 'name' => 'Apple iPhone XS', 'price' => 1059),

array( 'id' => 2, 'name' => 'Samsung Galaxy S9', 'harga' => Pixel 3', 'price' => 799),

array('id' => 4, 'name' => 'Sony Xperia XZ3', 'price' => 875),
tatasusunan('id' => 5, 'nama' => 'Xiaomi Mi Mix 3', 'harga' => 569)
);

$history = array(3, 1 , 2, 5); //Sejarah penyemakan imbas pelanggan, disimpan dalam tatasusunan

$recommendations = array();

foreach ($sejarah sebagai $productId) {

$product = $products[ array_search ($productId, array_column($products, 'id'))];

$recommendations[$product['name']] = $product['price'];

}

In kod di atas, kami mula-mula mentakrifkan tatasusunan $products, di mana setiap elemen ialah tatasusunan bersekutu yang mengandungi maklumat produk. Kami juga mentakrifkan tatasusunan $history yang mengandungi ID produk yang dilihat oleh setiap pengguna.

Kami mengulangi tatasusunan $history, gunakan fungsi array_column() untuk mencari indeks elemen yang sepadan dalam tatasusunan $products, dan kemudian keluarkan nama dan maklumat harga elemen tersebut, menggunakan produk namakan sebagai kunci dan harga sebagai nilai, dan simpan dalam tatasusunan $recommendations. Akhir sekali, kami mempunyai senarai cadangan untuk mengesyorkan lebih banyak produk kepada pelanggan kami.

Ringkasan

Dalam PHP, melalui gelung traversal dan fungsi terbina dalam array_column(), kita boleh menetapkan nilai yang sepadan dengan nilai kunci tertentu tatasusunan dua dimensi sebagai nilai kunci baharu tatasusunan. Kaedah ini sangat praktikal dalam pembangunan sebenar dan boleh meningkatkan kecekapan pembangunan. Ia juga merupakan salah satu fungsi PHP yang berkuasa.

Atas ialah kandungan terperinci Bagaimana untuk menggantikan nilai tatasusunan dua dimensi dengan kunci dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan