2010-07-07 41 views
-1

我有一個在線遊戲爲所有的汽車一個數組我做的是這樣的:查找基於字符串存在的數組中的數組值的NR

$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 = ? 

我有車名字,我需要的是車的nr。這是18($ GLOBALS ['car_park'] [18])。我如何使用函數來發現它? array_search?

回答

1

可以這樣做:

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

如果你在你的腳本執行此操作非常頻繁,想想不使用慢array_search,但快速查找操作。

在腳本的開始翻轉你的車陣:

$cars = array_flip(...); 

然後使用搜索查找:

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