@smoove1117

Как поменять местами максимальное и минимально число в массиве?

<?php

$mas = array(rand(0,10),rand(0,10),rand(0,10),rand(0,10),rand(0,10));
foreach ($mas as $value) {
  echo $value. " ";
}
$max = max($mas);
$min = min($mas);
echo "<br>", $max, "<br>" , $min;


  ?>
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега PHP
♬♬
попробуйте представить, как оно будет работать, в замедленном режиме.
Что, если массив не 5 чисел, а несколько миллионов, длиннющий?
Хорошо бы его проходить только 1 раз. И по пути находить минимум и максимум, и их индексы.
Как?
Сначала и min и max это первое значение, а оба индекса 0.
Далее с очередным элементом массива смотрим, больше ли он нашего "максимума"? Если да, то он становится максимумом, а текущий индекс — индексом максимума. То же с минимумом. Если меньше текущего минимума, то ...
Прошли весь массив — ок, имеем минимум, максимум, их индексы.
Меняем местами элементы по индексам.
Ответ написан
Комментировать
@SidVisceos
Не надо изобретать велосипед!
https://www.php.net/manual/ru/array.sorting.php
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы