Bolehkah saya menggunakan fungsi array_search() PHP untuk mencari situasi di mana nilai itu sendiri adalah tatasusunan?
P粉798343415
P粉798343415 2023-07-19 23:47:04
0
1
580

Saya mempunyai kelas yang mengandungi tatasusunan statik yang kuncinya adalah rentetan dan nilainya ialah tatasusunan. Jika nilai tatasusunan tertentu wujud, saya ingin mendapatkan kuncinya.

Saya fikir kod menggunakan fungsi array_search() akan mencapai ini, tetapi ia gagal mencari nilai dan sebaliknya mencetak palsu. Saya fikir parameter "ketat" mungkin membuat perbezaan, tetapi ia nampaknya tidak berfungsi. Adakah saya melakukan sesuatu yang salah? Apakah cara terbaik untuk menulis kod carian?

$ cat foo.php
<?php
class foo {
    static $name_to_bitnum = array(
        'Water Obstacle' => array('kind' => 'Facility', 'bitnum' => 5),
        'Driving' => array('kind' => 'Facility', 'bitnum' => 6),
        'Trails' => array('kind' => 'Facility', 'bitnum' => 7),
   );

    public static function bar($kind, $bitnum) {
        $search = array_search(array('kind' => $kind, 'bitnum' => $bitnum), self::$name_to_bitnum, $strict = false);
        // $search = array_search(self::$name_to_bitnum['Driving'], self::$name_to_bitnum, $strict = false);
        return $search;
    }
}
$foo = new foo();
echo var_dump($foo->bar('Driving', 6));
?>

$ php foo.php
C:xampp1826htdocsOSH0foo.php:21:
bool(false)

Saya perasan bahawa jika saya menyahkomen baris kod dan diindeks ke dalam tatasusunan menggunakan nilai elemen tatasusunan yang saya cari, maka ia berjaya dan mencetak rentetan (7) "Memandu". Ini nampaknya tidak betul bagi saya.

P粉798343415
P粉798343415

membalas semua(1)
P粉614840363

Seperti yang dinyatakan dalam ulasan, kes ujian saya melepasi 'Memandu' apabila memanggil bar() sedangkan ia sepatutnya melepasi 'Kemudahan'. Sekarang saya hanya perlu kembali kepada kod asal dan melihat mengapa nilai yang salah telah diluluskan. Sangat memalukan dan maaf kerana menimbulkan masalah kepada anda.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan