За последние 24 часа нас посетили 22900 программистов и 1240 роботов. Сейчас ищут 783 программиста ...

Массив PHP

Тема в разделе "PHP для новичков", создана пользователем RumaNO, 29 окт 2020.

Метки:
  1. RumaNO

    RumaNO Новичок

    С нами с:
    29 окт 2020
    Сообщения:
    11
    Симпатии:
    0
    сформировать массив случайных чисел от -50 до 50 из 10 элементов
    • вывести массив
    • перемешать массив (вывести массив)
    • отсортировать массив по убыванию (вывести массив)
    Я вот сделал функцией, но как перемешать и по убыванию сделать и при этом каждый раз выводить?
    PHP:
    1. function rand_arr( $N, $min = -50, $max = 50)
    2.             {
    3.                 return array_map(
    4.                     function() use( $min, $max)
    5.                     {
    6.                         return rand( $min, $max);
    7.                     },
    8.                     array_pad( [], $N, 0)
    9.                 );
    10.             }
    11.            
    12.             foreach(rand_arr(10) as $arr)
    13.             {
    14.                echo $arr." ";
    15.             }
     
  2. roboformation

    roboformation Активный пользователь

    С нами с:
    30 авг 2020
    Сообщения:
    162
    Симпатии:
    40
    Вывести массив (если непринципиально) можно и с помощью print_r ()
    https://www.php.net/manual/ru/function.print-r
    Перемешать массив с помощью shuffle ()
    https://www.php.net/manual/ru/function.shuffle
    И отсортировать по убыванию с помощью
    rsort ()
    https://www.php.net/manual/ru/function.rsort.php
    --- Добавлено ---
    PHP:
    1. function rand_arr () {
    2.     for ($i = 1; $i <= 10; $i++) {
    3.         $arr [] = mt_rand (-50, 50);
    4.     }
    5.     return $arr;
    6. }
    Если параметры всегда - 50, 50 и 10
     
    RumaNO нравится это.
  3. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
  4. roboformation

    roboformation Активный пользователь

    С нами с:
    30 авг 2020
    Сообщения:
    162
    Симпатии:
    40
    range () не рандомизирует
     
    RumaNO нравится это.
  5. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    ок
    PHP:
    1. $array = array_rand(range(-50, 50, 5), 10);
     
  6. roboformation

    roboformation Активный пользователь

    С нами с:
    30 авг 2020
    Сообщения:
    162
    Симпатии:
    40
    Это троллинг? Тут плохая рандомизация получается
     
    RumaNO нравится это.
  7. RumaNO

    RumaNO Новичок

    С нами с:
    29 окт 2020
    Сообщения:
    11
    Симпатии:
    0
    Нет, я тоже сначала так сделал, тут вы указываете еще и шаг и выходит 11 элементов (с нулем)
     
  8. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    PHP:
    1. <?php
    2. echo '<pre>';
    3. $array = range(-50, 50);
    4. shuffle($array);
    5. $array = array_slice($array, -10);//сформировать массив случайных чисел от -50 до 50 из 10 элементов
    6. print_r($array); //вывести массив
    7. shuffle($array); //перемешать массив
    8. print_r($array); //(вывести массив)
    9. rsort($array); //отсортировать массив по убыванию
    10. print_r($array); //(вывести массив)
    11. ?>
     
    RumaNO нравится это.