Мне нужна функция или массив, который дает мне случайные числа от 1 до 47, поэтому я могу использовать его для моего кода ниже.Использование уникальных случайных чисел для оператора switch
public function output($question_id, $solution) {
$yes = ($GLOBALS['TSFE']->sys_language_uid == 0) ? 'Ja' : 'Oui';
$no = ($GLOBALS['TSFE']->sys_language_uid == 0) ? 'Nein' : 'No';
switch ($question_id) {
case 1:
$arg = array(
'main_content' => $this->build_html(1, '01_0429_04_14_Psori_Arthro.jpg', $yes, $no, $solution)
);
break;
case 2:
$arg = array(
'main_content' => $this->build_html(2, '02_0342_05_14_Psori_Arthropathie.jpg', $yes, $no, $solution),
);
break;
case 3:
$arg = array(
'main_content' => $this->build_html(3, '03_0255_05_14_Psori_Arthropathie.jpg', $yes, $no, $solution),
);
break;
}
}
Пример
Это
case 1:
$arg = array(
'main_content' => $this->build_html(1, '01_0429_04_14_Psori_Arthro.jpg', $yes, $no, $solution)
);
должен выглядеть как-то так:
case $random_id:
$arg = array(
'main_content' => $this->build_html($random_id, '01_0429_04_14_Psori_Arthro.jpg', $yes, $no, $solution)
);
Так что это означает, каждый случай и каждый первый параметр функции build_html
должен получить уникальный случайный идентификатор.
Конечно, я мог бы использовать rand()
, но тогда вполне возможно, что я получу дублированные значения.
Любая помощь будет оценена!
Вам нужны случайные числа от 1 до 47 или, скорее, не дублированные номера от 1 до 47? – Andrew
@ Andrew Мне нужно 47 случайных чисел, потому что у меня 47 случаев, и каждый из них должен быть уникальным. – Reza
Поскольку вы знаете диапазон, почему бы просто не сделать цикл? По соображениям вещей вам действительно не нужны случайные числа в диапазоне от 1 до 47, вам, скорее всего, нужны номера от 1 до 47. – Andrew