Примеры решения задач
Задача
Задача. Дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо вывести на экран фразу 'Привет, мир!'.
Решение:
<?php
//Выведем фразу 'Привет, мир!':
$arr = ['Привет, ', 'мир', '!'];
echo $arr[0].$arr[1].$arr[2];
?>
Разберем это решение.
Слово 'Привет, ' хранится под номером 0, это значит, что для доступа к нему мы должны написать $arr[0].
Для доступа к слову 'мир' мы должны написать $arr[1], а $arr[2] содержит в себе '!'. Далее с помощью оператора 'точка' мы сложим три наши строки ('Привет, ', 'мир' и '!') в одну строку таким образом: $arr[0].$arr[1].$arr[2], и выведем на экран с помощью echo.
Задача
Задача. Решим немного другую задачу: дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо записать в переменную $text фразу 'Привет, мир!', а затем вывести на экран содержимое этой переменной.
Решение:
<?php
$arr = ['Привет, ', 'мир', '!'];
$text = $arr[0].$arr[1].$arr[2];
/*
В переменной $text теперь лежит строка 'Привет, мир!'.
Выведем ее на экран:
*/
echo $text;
?>
Задача
Задача. Дан массив ['Привет, ', 'мир', '!']. Необходимо записать в первый элемент (то есть элемент с номером ноль) этого массива слово 'Пока, ' (то есть вместо слова 'Привет, ' будет 'Пока, ').
Решение:
<?php
$arr = ['Привет, ', 'мир', '!'];
$arr[0] = 'Пока, '; //перезапишем первый элемент массива
var_dump($arr); //посмотрим на массив и убедимся в том, что он изменился
?>
Задача . Ассоциативные массивы
Задача. Создайте массив заработных плат $arr. Выведите на экран зарплату Пети и Коли.
<?php
//Этот массив дан:
$arr = ['Коля'=>'1000$', 'Вася'=>'500$', 'Петя'=>'200$'];
?>
Решение: чтобы вывести зарплату Коли следует вывести значение элемента массива с ключом 'Коля'. Сделаем это:
<?php
$arr = ['Коля'=>'1000$', 'Вася'=>'500$', 'Петя'=>'200$'];
echo $arr['Коля']; //выведет 1000$
?>
Задача . Способы создания массива
Задача. Создайте массив $arr с элементами 1, 2, 3, 4, 5 двумя различными способами.
Решение:
Первый способ создать массив - объявить его через []:
<?php
$arr = [1, 2, 3, 4, 5];
?>
Второй способ создания массива - это поступить таким образом:
<?php
$arr[] = 1;
$arr[] = 2;
$arr[] = 3;
$arr[] = 4;
$arr[] = 5;
?>
Задача . Многомерный массив
Задача. Дан многомерный массив $arr:
$arr = [
'ru'=>['голубой', 'красный', 'зеленый'],
'en'=>['blue', 'red', 'green'],
];
Выведите с его помощью слово 'голубой'.
Решение: так как массив многомерный (в нашем случае двухмерный), то нам придется написать несколько квадратных скобок подряд. Поясню это по шагам. Давайте сделаем так:
<?php
var_dump($arr['ru']);
?>
В этом случае результатом будет массив ['голубой','красный', 'зеленый'], который является частью нашего многомерного массива. Чтобы вывести слово 'голубой', на необходимо дописать еще одну квадратную скобку с ключом, соответствующим этому элементу (у него нет явного ключа - значит его ключ 0):
<?php
echo $arr['ru'][0]; //выведет 'голубой'
?>
Выведем теперь слово 'красный':
<?php
echo $arr['ru'][1]; //выведет 'красный'
?>
Выведем 'red':
<?php
echo $arr['en'][1]; //выведет 'red'
?>
Задачи для решения
Работа с массивами
Создайте массив $arr=['a', 'b', 'c']. Выведите значение массива на экран с помощью функции var_dump().
С помощью массива $arr из предыдущего номера выведите на экран содержимое первого, второго и третьего элементов.
Создайте массив $arr=['a', 'b', 'c', 'd'] и с его помощью выведите на экран строку 'a+b, c+d'.
Создайте массив $arr с элементами 2, 5, 3, 9. Умножьте первый элемент массива на второй, а третий элемент на четвертый. Результаты сложите, присвойте переменной $result. Выведите на экран значение этой переменной.
Заполните массив $arr числами от 1 до 5. Не объявляйте массив, а просто заполните его присваиванием $arr[] = новое значение.
Ассоциативные массивы
Создайте массив $arr. Выведите на экран элемент с ключом 'c'.
$arr = ['a'=>1, 'b'=>2, 'c'=>3];
Создайте массив $arr. Найдите сумму элементов этого массива.
$arr = ['a'=>1, 'b'=>2, 'c'=>3];
Создайте массив заработных плат $arr. Выведите на экран зарплату Пети и Коли.
$arr = ['Коля'=>'1000$', 'Вася'=>'500$', 'Петя'=>'200$'];
Создайте ассоциативный массив дней недели. Ключами в нем должны служить номера дней от начала недели (понедельник - должен иметь ключ 1, вторник - 2 и т.д.). Выведите на экран текущий день недели.
Пусть теперь номер дня недели хранится в переменной $day, например там лежит число 3. Выведите день недели, соответствующий значению переменной $day.
Многомерные массивы
Создайте многомерный массив $arr. С его помощью выведите на экран слова 'joomla', 'drupal', 'зеленый', 'красный'.
$arr = [
'cms'=>['joomla', 'wordpress', 'drupal'],
'colors'=>['blue'=>'голубой', 'red'=>'красный', 'green'=>'зеленый']
];
Создайте двухмерный массив. Первые два ключа - это 'ru' и 'en'. Пусть первый ключ содержит элемент, являющийся массивом названий дней недели по-русски, а второй - по-английски. Выведите с помощью этого массива понедельник по-русски и среду по английски (пусть понедельник - это первый день).
Пусть теперь в переменной $lang хранится язык (она принимает одно из значений или 'ru', или 'en' - либо то, либо то), а в переменной $day - номер дня. Выведите словом день недели, соответствующий переменным $lang и $day. То есть: если, к примеру, $lang = 'ru' и $day = 3 - то выведем 'среда'.