Apabila mencari nilai tertentu dalam tatasusunan berbilang dimensi, kecekapan adalah diutamakan. Kaedah gelung tradisional boleh menyusahkan dan memakan masa, terutamanya untuk tatasusunan yang besar.
Untuk mengoptimumkan carian ini, pertimbangkan untuk melaksanakan fungsi tersuai:
function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val['uid'] === $id) { return $key; } } return null; }
Fungsi ini berulang melalui tatasusunan, membandingkan sifat 'uid' setiap elemen kepada 'id' yang ditentukan. Jika padanan ditemui, ia mengembalikan kunci tatasusunan yang sepadan.
Sebagai contoh, menggunakan tatasusunan berikut:
$userdb = [ [ 'uid' => '100', 'name' => 'Sandra Shush', 'pic_square' => 'urlof100' ], [ 'uid' => '5465', 'name' => 'Stefanie Mcmohn', 'pic_square' => 'urlof100' ], [ 'uid' => '40489', 'name' => 'Michael', 'pic_square' => 'urlof40489' ] ];
Memanggil 'searchForId(100, $userdb)' akan mengembalikan 0, dan memanggil 'searchForId(40489, $userdb)' akan mengembalikan 2.
Pendekatan alternatif dalam PHP versi 5.5.0 dan ke atas adalah untuk menggunakan fungsi 'array_search' dan 'array_column':
$key = array_search('100', array_column($userdb, 'uid'));
Pelapis satu ini cekap melaksanakan tugas yang sama seperti fungsi tersuai.
Dengan menggabungkan pengoptimuman ini, anda boleh meningkatkan prestasi carian tatasusunan berbilang dimensi anda dengan ketara dalam PHP.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Nilai dengan Cekap dalam Tatasusunan Berbilang Dimensi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!