Учебные задачи PHP. Задача 8
Primary tabs
Решение для задачи из списка
<?php /** * Решение для задачи №8 из курса PHP * * Задать двумерный массив размерностью m на n (MxN) элементов (m и n вынести в область определения констант), * заполнить его случайными значениями и вывести их на экран уже после того, как весь массив будет заполнен * (т.е. заполнять и выводить в разных группах циклов). */ define("M",10);//Определяем константу первого уровня размерности define("N",3);//Определяем константу второго уровня размерности showArray(getTwoDimArray()); function getTwoDimArray() { //Размерность получаем из констант, поэтому передавать её в параметрах не обязательно $array = []; $index = 0; while($index != M){ $array[$index] = []; for ($i=0; $i < N; $i++) { $array[$index][$i] = rand(); } $index++; } return $array; } function showArray($array) { foreach ($array as $key => $element) { if(is_array($element)) { showArray($element);// Если элемент оказался массивом - рекурсия echo"<br>"; } elseif($key != 0) { // Можно было тупо вывести через перенос строки echo " » ".$element; // Но мне показалось что типографская кавычка смотрится лучше } else echo $element; } } ?>
- Log in to post comments
- 2214 reads
vedro-compota
Sat, 09/07/2019 - 15:17
Permalink
засчитано с замечания
1)
Если одна назначение - используйте одинаковые циклы, это улучшит читаемость.
2) Хорошо что вы знаете про рекурсивный вызов, но если задача простая усложнять код рекурсией не стоит (в реальных проектах).
3) Форматирование не совсем по нашим стандартам.
_____________
матфак вгу и остальная классика =)