Выберите переменную из массива

Я новичок в php массивах. Я не могу найти решение.

Это мой код:

$animals = Array
            (
            1=>$duck,
            2=>$horse,
            3=>$rabbit
            );

            ForEach($animals As $animal) 
            {
                echo $animals[Array_Rand($animals)];
            }

А теперь я хочу выбрать подходящую переменную из массива, которая является $rabbit.

Что-то вроде:

if($animal[3]){
                echo 'The rabbit just spawned';
            }

Пожалуйста, скажите мне, как обратиться к переменной номер 3 (кролик), используя инструкцию if.

1 ответ

Решение

Я не думаю, что вам нужно для каждого цикла, просто случайный выбор из массива:

https://eval.in/162384

$animals = Array
            (
            1=>'duck',
            2=>'horse',
            3=>'rabbit'
            );
$dieroll=array_rand($animals);
echo "The $animals[$dieroll] just spawned.";

Результат:

Утка только что появилась.

Изменить: вы упомянули о желании выбрать 3 из массива. Тогда вы можете использовать array_rand($x,3):

https://eval.in/162392

$animals = Array
            (
            1=>'duck',
            2=>'horse',
            3=>'rabbit',
            4=>'bear',
            5=>'moose'
            );
$dierolls=array_rand($animals,3);
// randomize the order of the dierolls:
shuffle($dierolls);
foreach($dierolls as $dieroll) {
    echo "Look out, it's a $animals[$dieroll]!\n";
};

дает:

Смотри, это утка!

Смотри, это кролик!

Смотри, это медведь!

Другие вопросы по тегам