Нахождение nr значения массива на основе строки, существующей в массиве - PullRequest
0 голосов
/ 07 июля 2010

У меня есть массив для всех автомобилей в онлайн-игре, которую я делаю, которая выглядит так:

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

У меня есть название машины, мне нужен номер машины. Который равен 18 ($ GLOBALS ['car_park'] [18]). Как я могу найти это с функцией? array_search?

Ответы [ 3 ]

1 голос
/ 07 июля 2010

Можно сделать это:

$car_name = "Rolls-Royce Phantom";
$car_nr = array_search($car_name, $GLOBALS['car_park']);
0 голосов
/ 07 июля 2010

Если вы часто выполняете эту операцию в своем скрипте, подумайте не о том, чтобы использовать медленный array_search, а о операции быстрого поиска.

В начале скрипта переверните ваш автомобильный массив:

$cars = array_flip(...);

Затем поиск с использованием поиска:

if (isset($cars[CAR_NAME])) {
    echo $cars[CAR_NAME];
}
else {
    echo 'Car not found';
}
0 голосов
/ 07 июля 2010

Вы ответили самостоятельно:

array_search ()

http://il2.php.net/manual/en/function.array-search.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...