2010-07-07 26 views
-1

je un tableau pour toutes les voitures dans un jeu en ligne, je fais que ressembler à ceci:Trouver nr d'une valeur de tableau basé sur une chaîne qui existe dans le tableau

$GLOBALS['car_park'] = array (
      "Toyota iQ3", "Think City", "Lancia Ypsilon", "Smart fourtwo", "Chevrolet Matiz", "Mazda 2", "Peugeot 107", "Nissan Micra", "Mercedes-Benz 310" /* dårlige biler */ 
     , "Lexus IS-F", "BMW M3 CSL", "Volvo C30", "Dodge Challenger RT", "Audi S3", "Omnibus Sunrider" /* bedre biler vanskelighetsgrad i forhold til dårlige biler 2.45x */ 
     , "Chevrolet Camaro SS", "Porsche GT2 RS", "Lotus Elise", "Rolls-Royce Phantom", "BMW 5-series", "DAF SB3000 Berkhof" /* bra biler 4x */ 
     , "Lamborghini Murcielago", "Ascari A10", "McLaren F1", "Pagani Zonda R" /* sinnsyke biler 8x */ 

     ); 

     $car_name = "Rolls-Royce Phantom" 
     $car_nr = ? 

J'ai une voiture nom, ce dont j'ai besoin est le nr pour la voiture. Lequel est 18 ($ GLOBALS ['car_park'] [18]). Comment je trouve ça avec une fonction? array_search?

Répondre

1

peut le faire:

$car_name = "Rolls-Royce Phantom"; 
$car_nr = array_search($car_name, $GLOBALS['car_park']); 
0

Si vous effectuez cette opération très souvent dans votre script, pensez à ne pas en utilisant un lent array_search, mais une opération de recherche rapide.

Au début du script retourner votre tableau de voiture:

$cars = array_flip(...); 

recherche Après l'aide recherche:

if (isset($cars[CAR_NAME])) { 
    echo $cars[CAR_NAME]; 
} 
else { 
    echo 'Car not found'; 
}