Dalam pengaturcaraan PHP, tatasusunan ialah jenis data yang sangat penting, terutamanya dalam pembangunan web. Apabila menggunakan tatasusunan, selalunya perlu untuk menanyakan nilai kunci yang sepadan melalui nilai nilai tatasusunan. Artikel ini akan memperkenalkan beberapa kaedah dan teknik biasa untuk membantu pembaca melaksanakan fungsi ini dengan lebih baik.
PHP menyediakan fungsi array_search(), yang boleh digunakan untuk mencari nilai kunci yang sepadan dengan nilai yang ditentukan dalam tatasusunan. Sintaks asas bagi fungsi ini adalah seperti berikut:
array_search($value, $array, $strict);
Antaranya, $value menunjukkan nilai yang akan ditemui, $array menunjukkan tatasusunan untuk ditemui dan $strict menunjukkan sama ada untuk melakukan perbandingan ketat. Jika $strict=true, maka jenis data dan nilai perlu dibandingkan;
Contohnya:
$array = ['a' => 1, 'b' => 2, 'c' => 3]; $key = array_search(2, $array); echo $key; // 输出:b $key = array_search('2', $array); echo $key; // 输出:b $key = array_search(2, $array, true); echo $key; // 输出:b $key = array_search('2', $array, true); echo $key; // 输出:空
Perlu diambil perhatian bahawa fungsi ini hanya mengembalikan nilai kunci pertanyaan pertama. Jika terdapat berbilang elemen dengan nilai yang sama, hanya satu daripada nilai utama boleh dikembalikan.
Fungsi lain yang biasa digunakan ialah array_keys(), yang boleh digunakan untuk mendapatkan semua nilai kunci dalam tatasusunan yang memenuhi nilai yang ditentukan. Sintaks fungsi ini adalah seperti berikut:
array_keys($array, $value, $strict);
Antaranya, $array mewakili tatasusunan yang hendak dicari, $value mewakili nilai yang hendak dicari dan $strict mewakili sama ada hendak melakukan perbandingan ketat.
Contohnya:
$array = ['a' => 1, 'b' => 2, 'c' => 2]; $keys = array_keys($array, 2); print_r($keys); // 输出:[b, c] $keys = array_keys($array, '2', true); print_r($keys); // 输出:空 $keys = array_keys($array, 2, true); print_r($keys); // 输出:[b]
Perlu diambil perhatian bahawa fungsi ini mengembalikan tatasusunan yang mengandungi semua nilai utama yang memenuhi syarat. Jika tiada nilai kunci yang sepadan ditemui, tatasusunan kosong dikembalikan.
Selain menggunakan fungsi terbina dalam, kita juga boleh menanyakan nilai kunci yang sepadan dengan nilai tertentu dengan merentasi keseluruhan tatasusunan. Di sini kita boleh menggunakan pernyataan gelung foreach PHP untuk mencapai ini. Kaedah khusus ialah menggunakan pernyataan bersyarat if semasa gelung untuk menentukan sama ada nilai elemen semasa adalah sama dengan nilai yang ditentukan. Jika sama, nilai kunci elemen semasa dikembalikan.
Contohnya:
$array = ['a' => 1, 'b' => 2, 'c' => 3]; $value = 2; foreach ($array as $key => $val) { if ($val == $value) { echo 'key: ' . $key . '<br/>'; } } // 输出:key: b
Perlu diambil perhatian bahawa menggunakan gelung foreach untuk melintasi keseluruhan tatasusunan adalah kurang cekap. Oleh itu, adalah disyorkan untuk menggunakan fungsi terbina dalam seperti array_search() dan array_keys() apabila berurusan dengan sejumlah besar data.
Kadang-kadang, kita ingin menukar kunci dan nilai array. Fungsi ini boleh menukar kunci dan nilai dengan cepat dalam tatasusunan. Contohnya:
$array = ['a' => 1, 'b' => 2, 'c' => 3]; $new_array = array_flip($array); print_r($new_array);
Hasil keluaran ialah:
Array ( [1] => a [2] => b [3] => c )
Pada masa ini, kita hanya perlu menanyakan nilai kunci yang sepadan dengan nilai dalam tatasusunan baharu. Perlu diingatkan bahawa jika terdapat berbilang nilai nilai yang sama, hanya satu daripada nilai utama yang boleh dikembalikan.
Array ialah jenis data yang sangat penting dalam pengaturcaraan PHP biasanya perlu mengetahui cara mendapatkan nilai kunci yang sepadan melalui nilai nilai dalam tatasusunan. Artikel ini menerangkan empat kaedah pelaksanaan, termasuk fungsi array_search(), array_keys(), fungsi foreach dan array_flip() fungsi. Pengaturcara boleh memilih kaedah yang sesuai berdasarkan keperluan khusus. Pada masa yang sama, anda perlu memberi perhatian kepada beberapa butiran, seperti sama ada untuk melakukan perbandingan yang ketat, sama ada untuk mengembalikan tatasusunan atau nilai tunggal, dsb. Melalui pemahaman dan amalan yang mendalam, kami dapat menguasai operasi biasa ini dengan lebih baik, dengan itu meningkatkan kecekapan dan keteguhan kod kami.
Atas ialah kandungan terperinci Kunci pertanyaan nilai tatasusunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!