可以使用PHP的array_search()函数来搜索值本身就是数组的情况吗?
P粉798343415
P粉798343415 2023-07-19 23:47:04
0
1
457

我有一个包含静态数组的类,它的键是字符串,值是数组。如果存在特定的数组值,我想获取它的键。

我以为使用array_search()函数的代码可以实现这个功能,但它无法找到该值,而是打印出false。我以为"strict"参数可能会有所不同,但它似乎没有起作用。我做错了什么吗?编写搜索代码的最佳方式是什么?

$ 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)

我注意到,如果我取消注释掉的那行代码,并使用我要查找的数组元素的值,通过对数组进行索引,那么它就能成功并打印出字符串(7) "Driving"。这对我来说似乎不太对。

P粉798343415
P粉798343415

热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!