Рандом, массивы, хелп

126
19 февраля 2018, 03:55

Есть колода карт (56 штук)
В начале игры, человеку даётся 8 карт путём рандома

$all_cards = range(1, 56);
$first_pool = rand($all_cards, 2);
echo $first_pool;

Браузер выдаёт ошибку

Warning: rand() expects parameter 1 to be long, array given in ?C:\OSPanel\domains\Rokki\index.php on line 19

Что делать? Как реализовать рандомную раздачу карт?

Answer 1

Вместо

$first_pool = rand($all_cards, 2);

надо использовать

$first_pool = rand(1, 56);

так как функция rand() определена как

int rand ( int $min , int $max )

Но это не то, что вы хотите.

Вместо того использыйте функцию shuffle() чтобы стасовать карты, и потом выберите первые 8 из них:

$all_cards= range(1, 56);
shuffle($all_cards);
$first_pool = array_slice($all_cards, 0, 8);
READ ALSO
Подснежник в PHP [дубликат]

Подснежник в PHP [дубликат]

На данный вопрос уже ответили:

133
Нужна помощь с preg_replace

Нужна помощь с preg_replace

Вообщем требуется превратить #$testa# в $test['a']

120
Создание PDF файла средствами php

Создание PDF файла средствами php

Добрый деньНеобходимо создать pdf документ в корзине пользователя для сайта на системе управления 1С-Битрикс

99