Bagaimana untuk mencari berbilang nilai dalam tatasusunan dan mengembalikan nama kunci yang sepadan dalam PHP
Dalam pembangunan PHP, kita sering menghadapi situasi di mana kita perlu mencari berbilang nilai dalam tatasusunan dan mencari nama kunci nilai yang sepadan . Artikel ini akan memperkenalkan kaedah untuk mencapai fungsi ini dan menyediakan contoh kod yang sepadan.
Pertama, mari kita lihat struktur tatasusunan yang kita cari. Katakan kita mempunyai tatasusunan bersekutu yang menyimpan beberapa maklumat pengguna, seperti nama pengguna, umur dan jantina. Contohnya seperti berikut:
$user_info = array( 'john' => array( 'age' => 25, 'gender' => 'male' ), 'amy' => array( 'age' => 32, 'gender' => 'female' ), 'peter' => array( 'age' => 28, 'gender' => 'male' ), 'susan' => array( 'age' => 30, 'gender' => 'female' ) );
Sekarang, andaikan kita perlu mencari pengguna yang berumur 32 tahun dan yang jantinanya adalah perempuan Kami ingin mendapatkan nama kunci pengguna, iaitu 'amy'. Berikut ialah contoh kod untuk melaksanakan fungsi ini:
function searchUser($array, $conditions) { foreach ($array as $key => $value) { $match = 0; foreach ($conditions as $condition_key => $condition_value) { if ($value[$condition_key] == $condition_value) { $match++; } } if ($match == count($conditions)) { return $key; } } return null; } $conditions = array( 'age' => 32, 'gender' => 'female' ); $result = searchUser($user_info, $conditions); if ($result) { echo "找到匹配的用户,键名为:" . $result; } else { echo "未找到匹配的用户"; }
Dalam kod di atas, kami mentakrifkan fungsi bernama searchUser
, yang menerima dua parameter: tatasusunan yang akan dicari dan keadaan carian. searchUser
的函数,该函数接受两个参数:要查找的数组和查找条件。
在函数内部,我们使用了两层嵌套的循环。外层循环遍历数组的每个元素,内层循环遍历查找条件数组中的每个条件。
在内层循环中,我们比较数组中对应键的值是否和当前查找条件相等。如果相等,我们增加一个计数器$match
的值。如果$match
的值等于查找条件数组的长度,说明所有条件都匹配,我们返回当前循环的键名。
如果没有找到匹配的用户,我们最终返回null
。
在主程序中,我们定义了一个查找条件数组$conditions
,然后调用searchUser
$match
. Jika nilai $match
adalah sama dengan panjang tatasusunan keadaan carian, ini bermakna semua syarat dipadankan dan kami mengembalikan nama kunci gelung semasa.
Jika tiada pengguna yang sepadan ditemui, kami akhirnya mengembalikan null
.
$conditions
, dan kemudian memanggil fungsi searchUser
untuk mencari pengguna yang sepadan. Akhir sekali, berdasarkan hasil yang dikembalikan, kami mengeluarkan maklumat segera yang sepadan. 🎜🎜Dengan contoh kod di atas, kita boleh melaksanakan fungsi mencari berbilang nilai dalam tatasusunan dan mengembalikan nama kunci yang sepadan. 🎜🎜Ringkasan: 🎜Dalam pembangunan PHP, kadangkala kita perlu mencari berbilang nilai dalam tatasusunan dan mengembalikan nama kunci yang sepadan. Dengan menggunakan gelung berganda dan syarat pertimbangan yang sesuai, kita boleh mencapai fungsi ini. Contoh kod di atas menyediakan kaedah pelaksanaan untuk rujukan dan kegunaan anda. Saya harap artikel ini akan membantu semua orang dalam carian tatasusunan PHP. 🎜Atas ialah kandungan terperinci Bagaimana untuk mencari berbilang nilai dalam tatasusunan dalam PHP dan mengembalikan nama kunci yang sepadan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!