PHP - разбить число на N случайных чисел
Язык программирования PHP содержит достаточно удобных и полезных функций, которые облегчают жизнь программисту, освобождая его от написания "новых велосипедов", однако бывают моменты когда задумываешься - ниужели перед разработчиками PHP ни разу не возникала эта задача...
Ну дискутировать особо не о чем (может в другой раз или в комментариях ;)), опишу лишь саму эту задачу, которую решить стандартной функцией PHP не удалось - по причине ее отсутствия.
И так задача - имеется целое число, например 5894, которое нужно разбить на определенное количество частей, например 5, значения же этих частей, должны быть случайными, а их сумма равнятся исходному числу (которое разбиваем на части).
А вот и решение, небольшая функция выполняющая математические операции, и возвращающая массив рандомных частей, целого числа.
- function expRand($num, $parts){
- for ($i = 1; $i <= $parts; $i++) {
- if ($i != $parts) {
- $limit = $num * 0.8;
- }else{
- $newRest = $num;
- }
- $rest -= $newRest;
- }
- return $array;
- }
Вот и все, спасибо Станиславу Сметанину, за предоставленную функцию!
PS. И не забудьте подписаться на ленту новостей RSS

Комментарии