Урок 5. Задачи на циклы foreach, while, for в PHP

Урок 5. Задачи на циклы foreach, while, for в PHP

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Урок 5. Задачи на циклы foreach, while, for в PHP

Урок 5. Задачи на циклы foreach, while, for в PHP

www.homa.xp3.biz

Практика

Примеры решения задач

Задача

Дан массив с элементами 'html','css','php','js','jq'. С помощью цикла foreach вывести эти слова в столбик.

Решение: Для начала необходимо создать сам массив. В данном случае мы можем воспользоваться различными способами: объявить через [] либо просто воспользоваться присваиванием $a[]='html';$a[]='php'; и т.д. Я выбрал 1-й способ, т.к. он занимает меньше места при записи:

<?

$a=['html','css','php','js','jq']

?>

Теперь необходимо воспользоваться циклом foreach:

<?

$a=['html','css','php','js','jq'];

foreach($a as$e){

echo'<p>'.$e;

}

?>

Как это все работает: в переменной $e все элементы будут лежать по порядку (сначала 'html', потом 'css' и т.д.). Они выводятся их на экран с помощью echo.

Задача

Дан массив с элементами 10,20,15,17,24,35. Найти сумму элементов этого массива. Записать ее в переменную $r.

Решение: 1-е решение, которое может прийти в голову - это просуммировать все элементы массива 'руками': $a[0]+$a[1]+…+$a[5].

Этот способ неправильный, т.к. в случае изменения массива код придется переписывать (например, в него добавится еще 88 элементов, что будет печально). Решение необходимо делать как можно более универсальным.

Поэтому мы должны воспользоваться циклом foreach, в этом случае нет привязки к количеству элементов массива.

Теперь нужно подумать о том, как просуммировать элементы массива в цикле. Для этого вводится переменная $r, к которой при каждом проходе цикла прибавляется она сама и еще 1 элемент массива таким образом $r=$r+$e:

<?

$a=[10,20,15,17,24,35];

$r=0;

foreach($a as$e){

$r=$r+$e;

}

echo$r//Вывод суммы на экран

?>

В строке $r=0 зануляется переменная $r, если этого не сделать, в цикле возникнет ошибка в строке $r=$r+$e, т.к. при 1-м проходе цикла переменная $r не будет определена.

Как работает строка $r=$r+$e: при 1-м проходе в переменной $r будет 0, в $e - 10 (1-й элемент массива), тогда в $r запишется 0+10=10.

При 2-м проходе цикла в $r лежит уже 10 (значение из прошлого прохода цикла), а в $e лежит 20 (следующий элемент массива), тогда в $r запишется 10+20=30.

При 3-м проходе цикла в $r лежит 30, а в $e - 15, в $r запишется 30+15=45. И т.д., пока цикл не закончится.

Строку $r=$r+$e можно записать короче: $r+=$e.

Задача

Вывести столбец чисел от 1 до 100.

Решение: Задачу можно решить как циклом for, так и циклом while. Вначале решим через цикл while:

<?

$i=1;//Счетчик цикла устанавливаем в 1

while($i<=100){

echo'<p>'.$i;//Выведет 1,2,…,100

$i++;//С помощью оператора ++ увеличивается $i на 1 при каждом проходе цикла:

}

?>

Решение через цикл for:

<?//В начале цикла $i будет равно 1, цикл будет выполняться, пока $i<=100, после каждого прохода к $i прибавляется 1:

for($i=1;$i<=100;$i++){

echo'<p>'.$i;//Выведет 1,2,…,100

}

?>

Задачи для решения

Работа с foreach

Дан массив с элементами 'html','css','php','js','jq'. С помощью цикла foreach вывести эти слова в столбик.

Дан массив с элементами 1,2,3,4,5. С помощью цикла foreach найти сумму элементов этого массива. Записать ее в переменную $r.

Дан массив с элементами 1,2,3,4,5. С помощью цикла foreach найти сумму квадратов элементов этого массива. Результат записать переменную $r.

Работа с ключами

Дан массив $a. С помощью цикла foreach вывести на экран столбец ключей и элементов в формате 'green - зеленый'.

$a=['green'=>'зеленый','red'=>'красный','blue'=>'голубой'];

Дан массив $a с ключами 'Коля','Вася','Петя' и с элементами '200','300','400'. С помощью цикла foreach вывести на экран столбец строк такого формата: 'Коля - зарплата 200 долларов.'.

Циклы while и for

Решать эти задачи сначала через цикл while, а затем через цикл for.

Вывести столбец чисел от 1 до 100.

Вывести столбец чисел от 11 до 33.

Вывести столбец четных чисел в промежутке от 0 до 100.

С помощью цикла найти сумму чисел от 1 до 100.

Задачи

Дан массив с элементами 2,5,9,15,0,4. С помощью цикла foreach и оператора if вывести на экран столбец тех элементов массива, которые больше 3-х, но меньше 10.

Дан массив с числами. Числа могут быть положительными и отрицательными. Найти сумму положительных элементов этого массива.

Дан массив с элементами 1,2,5,9,4,13,4,10. С помощью цикла foreach и оператора if проверить есть ли в массиве элемент со значением, равным 4. Если есть - вывести на экран 'Есть!' и выйдите из цикла. Если нет - ничего делать не надо.

Дан массив числами, например: ['10','20','30','50','235','3000']. Вывести на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.

Дан массив с элементами 1,2,3,4,5,6,7,8,9. С помощью цикла foreach создать строку '-1-2-3-4-5-6-7-8-9-'.

Составить массив дней недели. С помощью цикла foreach вывести все дни недели, а выходные дни вывести жирным.

Составить массив дней недели. С помощью цикла foreach вывести все дни недели, а текущий день вывести курсивом. Текущий день должен храниться в переменной $day.

Задачи посложнее

С помощью цикла for заполнить массив числами от 1 до 100. Т.е. должен получится массив [1,2,…,100].

Дан массив $a. С помощью цикла foreach записать английские названия в массив $e, а русские - в массив $r.

$a=['green'=>'зеленый','red'=>'красный','blue'=>'голубой'];

Дано число $n=1000. Делить его на 2 столько раз, пока результат деления не станет меньше 50. Какое число получится? Посчитайте количество итераций, необходимых для этого (итерация - это проход цикла). Решать задачу сначала через цикл while, а потом через цикл for.

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович:
8-965-148-98-02, diplom07@mail.ru.
Печатать страницу: Урок 5. Задачи на циклы foreach, while, for в PHP

Урок 5, Задачи на циклы foreach, while, for в PHP, Урок, 5, Задачи, на, циклы, foreach, while, for, в, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, Создание сайтов, web-программирование, seo-продвижение, создание и раскрутка сайтов, вбиваю в топ-10, как гвозди, попробуйте бесплатно, Создание сайтов, web-программирование, seo-продвижение, Урок, 5, Задачи, на, циклы, foreach, while, for, в, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, раскрутка сайтов, Вбиваю в ТОП-10, как гвозди, раскрутка сайтов, Делаю и раскручиваю сайты, Дмитрий Владимирович

×

Ваше письмо