Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mencipta dan memanipulasi tatasusunan dengan nilai sebagai kunci dalam PHP

Bagaimana untuk mencipta dan memanipulasi tatasusunan dengan nilai sebagai kunci dalam PHP

PHPz
PHPzasal
2023-04-25 09:05:08627semak imbas

PHP ialah salah satu bahasa pengaturcaraan sebelah pelayan yang paling biasa digunakan, dan kebanyakan pembangunan web tidak dapat dipisahkan daripada PHP. Dalam PHP, tatasusunan ialah salah satu struktur data paling asas dan boleh dimulakan dan dimanipulasi dalam pelbagai cara. Artikel ini menerangkan cara mencipta dan memanipulasi tatasusunan yang dikunci oleh nilai dalam PHP dan membincangkan kepraktisan dan skop pendekatan ini.

Asas Tatasusunan PHP

Dalam PHP, tatasusunan ialah koleksi tertib pasangan nilai kunci, di mana setiap elemen dikenal pasti oleh kunci unik. Sebagai contoh, berikut ialah contoh tatasusunan PHP dengan tiga elemen:

$fruits = array("apple" => 10, "banana" => 20, "orange" => 30);

Dalam tatasusunan ini, "epal", "pisang" dan "oren" ialah kunci, dan nilai yang sepadan ialah 10, 20 dan 30. Untuk mengakses nilai yang sepadan dengan kunci, anda boleh menggunakan sintaks kurungan segi empat sama:

echo $fruits["apple"]; // 输出 10

Anda juga boleh menggunakan gelung foreach untuk melintasi keseluruhan tatasusunan:

foreach ($fruits as $key => $value) {
  echo $key . ": " . $value . "\n";
}

Kod di atas akan mengeluarkan yang berikut:

apple: 10
banana: 20
orange: 30

tatasusunan PHP dengan nilai sebagai kunci

Dalam PHP, anda juga boleh menggunakan nilai elemen tatasusunan sebagai kunci. Sebagai contoh, berikut ialah contoh yang menunjukkan cara mencipta tatasusunan PHP dengan nilai sebagai kunci:

$fruits = array("apple", "banana", "orange");
$index = array_flip($fruits);

Dalam contoh ini, tatasusunan $fruits mengandungi tiga nama buah dan tidak mengandungi apa-apa yang berkaitan dengan bilangan buah-buahan. Kami kemudian menggunakan fungsi array_flip() untuk mencipta tatasusunan baharu dengan nama setiap buah sebagai kunci dan kedudukan indeks buah itu dalam tatasusunan sebagai nilai. Sebagai contoh, $index["apple"] akan mempunyai nilai 0, $index["banana"] akan mempunyai nilai 1 dan seterusnya.

Untuk mengakses nilai dalam tatasusunan baharu ini, anda boleh menggunakan sintaks kurungan segi empat sama berikut:

echo $index["apple"]; // 输出 0

Anda juga boleh menggunakan gelung foreach untuk mengulangi keseluruhan tatasusunan:

foreach ($index as $key => $value) {
  echo $key . ": " . $value . "\n";
}

Kod di atas akan mengeluarkan yang berikut:

apple: 0
banana: 1
orange: 2

Proses ini kelihatan menyusahkan Bayangkan jika anda perlu memproses tatasusunan yang mengandungi sejumlah besar nilai bukan angka, kaedah ini akan menjadi sangat membosankan dan terdedah kepada kesilapan. Walau bagaimanapun, jika anda menggunakan tatasusunan PHP yang dikunci oleh nilai, anda akan mendapat beberapa faedah.

Kelebihan

  1. Tinggalkan nama kunci

Tatasusunan PHP dengan nilai sebagai kunci meninggalkan langkah yang perlu mentakrifkan nama kunci secara eksplisit, yang memudahkan kod, dan meningkatkan kebolehbacaan. Sebagai contoh, berikut ialah kod untuk tatasusunan dengan nilai sebagai kunci:

$fruits = array("apple", "banana", "orange");

Berbanding dengan mencipta tatasusunan dengan mentakrifkan nama kunci:

$fruits = array("fruit1" => "apple", "fruit2" => "banana", "fruit3" => "orange");

Jelas sekali, menggunakan nilai sebagai kunci Tatasusunan lebih ringkas dan pengendalian setiap elemen dalam tatasusunan adalah lebih konsisten.

  1. Isih semula jadi

Apabila elemen tatasusunan dicipta dengan nilai sebagai kunci, elemen dalam tatasusunan akan diisih secara semula jadi dari kiri ke kanan. Ini bermakna bahawa kekunci dalam tatasusunan akan menjadi urutan nombor bermula dari 0, bukannya rentetan bertaburan. Dengan cara ini, jika anda perlu mengakses nilai yang sepadan dengan kunci tertentu, anda tidak perlu mentakrifkan nama kunci secara eksplisit, yang boleh mengurangkan banyak redundansi yang tidak perlu dalam kod.

Kebolehgunaan

Walaupun tatasusunan PHP berkunci nilai kadangkala berguna, terdapat beberapa situasi yang tidak digunakan. Berikut ialah beberapa perkara yang perlu diambil perhatian:

  1. Kunci dan nilai adalah nilai yang sama.

Jika kunci dan nilai dalam elemen tatasusunan anda adalah sama, ia tidak digunakan pada tatasusunan PHP dengan nilai sebagai kunci, kerana kunci dan nilai tidak boleh dibezakan. Contohnya:

$colors = array("red", "green", "blue", "red");

Dalam contoh di atas, dua "merah" sebagai kunci dan nilai adalah sama dan tidak boleh dibezakan. Dalam kes ini, pertimbangkan untuk menggunakan cara lain untuk mengendalikan tatasusunan, seperti menggunakan fungsi array_count_values() PHP.

  1. Kunci tatasusunan bukan nombor

Tatasusunan PHP yang dikunci oleh nilai hanya berfungsi dengan kekunci angka kerana menggunakan nilai sebagai kunci akan mengelirukan kunci jika tidak nombor dan maksud nilai. Sebagai contoh, berikut ialah tatasusunan yang tidak boleh menggunakan nilai sebagai kunci:

$person = array("name" => "Tom", "age" => 25, "gender" => "male");

Dalam tatasusunan ini, kekunci "nama", "umur" dan "jantina" mewakili atribut orang itu dan nilai "Tom ", 25 dan "lelaki" ialah nilai sebenar. Dalam kes ini, setiap atribut mesti dikenal pasti secara eksplisit menggunakan nama kunci yang berbeza.

Kesimpulan

Tatasusunan PHP berkunci nilai boleh menjadi mudah, tetapi hanya jika jenis dan struktur data tatasusunan yang anda perlukan untuk bekerja dengannya sesuai untuk pendekatan ini. Kaedah ini tidak sesuai untuk sesetengah senario di mana kunci dan nilai perlu dibezakan sepenuhnya. Sebelum menggunakan kaedah ini untuk mencipta tatasusunan, sebaiknya pertimbangkan struktur data dan jenis data tertentu.

Atas ialah kandungan terperinci Bagaimana untuk mencipta dan memanipulasi tatasusunan dengan nilai sebagai kunci 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