Shlop
@Shlop
Full Stack Developer (PHP/Laravel/JavaScript)

Как случайно выбирать математическое действие?

Здравствуйте, подскажите пожалуйста, как можно случайным образом выполнить математическое действие. Вот есть у меня массив который должен быть заполнен значениями
"элементы, эталон плюс 0 ,или плюс $D, или минус $D"
Эталон - это массив тоже.
Проще говоря - случайным образом для каждого элемента, выбираем каким действием он будет получен. Сейчас вот такой вот вариант есть:
$ch = mt_rand(1,3);
		if($ch == 1) {
			$array_col2[$i] = ($array_col1[$i] + 0);
		}
		else if($ch == 2) {
			$array_col2[$i] = ($array_col1[$i] + $D);
		}
		else if($ch == 3) {
			$array_col2[$i] = ($array_col1[$i] - $D);
		}
		else if($ch2 == 1) {
			$array_col3[$i] = ($array)
		}

Но просто дело в том что там ещё и второй массив должен по такому же принципу построен, тоже случайным образом. Как можно по другому это сделать ? Подскажите пожалуйста. Заранее благодарен за ответ
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Различие только в +0, +$D или -$D?
$array_col2[$i] = ($array_col1[$i] + $D * mt_rand(-1,1));

Вот и вся логика.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
А почему бы просто не генерировать $D в отрицательно-положительном диапазоне?
$D = rand(-100; 100);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы