Puis-je utiliser la fonction array_search() de PHP pour rechercher des situations où les valeurs elles-mêmes sont des tableaux ?
P粉798343415
P粉798343415 2023-07-19 23:47:04
0
1
533

J'ai une classe qui contient un tableau statique dont les clés sont des chaînes et les valeurs sont des tableaux. Si une valeur de tableau spécifique existe, je souhaite obtenir sa clé.

Je pensais que le code utilisant la fonction array_search() accomplirait cela, mais il ne parvient pas à trouver la valeur et affiche à la place false. Je pensais que le paramètre "strict" pourrait faire une différence, mais cela ne semble pas fonctionner. Est-ce que j'ai fait quelque chose de mal? Quelle est la meilleure façon d’écrire du code de recherche ?

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

J'ai remarqué que si je décommentais la ligne de code et l'indexais dans le tableau en utilisant la valeur de l'élément du tableau que je recherchais, alors cela réussissait et imprimait la chaîne (7) "Conduite". Cela ne me semble pas correct.

P粉798343415
P粉798343415

répondre à tous(1)
P粉614840363

Comme indiqué dans les commentaires, mon scénario de test réussit « Conduite » lors de l'appel de bar() alors qu'il devrait en fait réussir « Facilité ». Il ne me reste plus qu'à revenir au code d'origine et voir pourquoi la mauvaise valeur a été transmise. Très embarrassant et désolé de vous avoir causé des ennuis.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!