Разбирала решение к следующей задаче: Ваше задание — создать массив, наполнить его случайными значениями (можно использовать функцию rand), найти максимальное и минимальное значение массива и поменять их местами.
Решение следующее:
$a = array();
for ($i=0;$i<10;$i++) {
$a[]=rand(1,100);
echo $a[$i].' ';
};
echo "\n";
$max = array_search(max($a), $a);
$min = array_search(min($a), $a);
list($a[$max],$a[$min]) = array($a[$min],$a[$max]);
for ($i=0;$i<10;$i++) echo $a[$i].' ';
Все было понятно до последней строки. Объясните, пожалуйста, как так получилось, что мы создали буквально новый цикл, основанный на рандоме, а он оказался связан с предыдущим (я понимаю, что циклу дали одну переменную, но разве при вызове нового цикла в этой переменной он не должен измениться?). Или просто как-нибудь для недалеких расшифруйте, пожалуйста.
Решение следующее:
$a = array();
for ($i=0;$i<10;$i++) {
$a[]=rand(1,100);
echo $a[$i].' ';
};
echo "\n";
$max = array_search(max($a), $a);
$min = array_search(min($a), $a);
list($a[$max],$a[$min]) = array($a[$min],$a[$max]);
for ($i=0;$i<10;$i++) echo $a[$i].' ';
Все было понятно до последней строки. Объясните, пожалуйста, как так получилось, что мы создали буквально новый цикл, основанный на рандоме, а он оказался связан с предыдущим (я понимаю, что циклу дали одну переменную, но разве при вызове нового цикла в этой переменной он не должен измениться?). Или просто как-нибудь для недалеких расшифруйте, пожалуйста.