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

Задача

Задача. Дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо вывести на экран фразу 'Привет, мир!'.

Решение:

<?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().

Решение:

<?php
	$arr = ['a', 'b', 'c'];
	var_dump($arr)
?>

С помощью массива $arr из предыдущего номера выведите на экран содержимое первого, второго и третьего элементов.

Решение:

<?php
	$arr = ['a', 'b', 'c'];
	echo $arr[0].'<br>';
	echo $arr[1].'<br>';
	echo $arr[2].'<br>';
?>

Создайте массив $arr=['a', 'b', 'c', 'd'] и с его помощью выведите на экран строку 'a+b, c+d'.

Решение:

<?php
	$arr = ['a', 'b', 'c', 'd'];
	echo $arr[0].'+'. $arr[1].', '.$arr[2].'+'.$arr[3]; 
?>

Создайте массив $arr с элементами 2, 5, 3, 9. Умножьте первый элемент массива на второй, а третий элемент на четвертый. Результаты сложите, присвойте переменной $result. Выведите на экран значение этой переменной.

Решение:

<?php
	$arr = [2, 5, 3, 9];
	$result = $arr[0] * $arr[1] + $arr[2] * $arr[3];
	echo $result;
?>

Заполните массив $arr числами от 1 до 5. Не объявляйте массив, а просто заполните его присваиванием $arr[] = новое значение.

Решение:

<?php
	$arr[] = 1;
	$arr[] = 2;
	$arr[] = 3;
	$arr[] = 4;
	$arr[] = 5;

	var_dump($arr);
?>

Ассоциативные массивы

Создайте массив $arr. Выведите на экран элемент с ключом 'c'.

$arr = ['a'=>1, 'b'=>2, 'c'=>3];

Решение:

<?php
	$arr = ['a'=>1, 'b'=>2, 'c'=>3];
	echo $arr['c'];
?>

Создайте массив $arr. Найдите сумму элементов этого массива.

$arr = ['a'=>1, 'b'=>2, 'c'=>3];

Решение:

<?php
	$arr = ['a'=>1, 'b'=>2, 'c'=>3];
	echo $arr['a'] + $arr['b'] + $arr['c'];
?>

Создайте массив заработных плат $arr. Выведите на экран зарплату Пети и Коли.

$arr = ['Коля'=>'1000$', 'Вася'=>'500$', 'Петя'=>'200$'];

Решение:

<?php
	$arr = ['Коля'=>'1000$', 'Вася'=>'500$', 'Петя'=>'200$'];
	echo $arr['Петя'].' '.$arr['Коля'];
?>

Создайте ассоциативный массив дней недели. Ключами в нем должны служить номера дней от начала недели (понедельник - должен иметь ключ 1, вторник - 2 и т.д.). Выведите на экран текущий день недели.

Решение: пусть текущий день - четверг, тогда:

<?php
	$arr = [1=>'пн', 2=>'вт', 3=>'ср', 4=>'чт', 5=>'пт', 6=>'сб', 7=>'вс'];
	echo $arr[4];
?>

Пусть теперь номер дня недели хранится в переменной $day, например там лежит число 3. Выведите день недели, соответствующий значению переменной $day.

Решение: пусть текущий день - четверг, тогда:

<?php
	$arr = [1=>'пн', 2=>'вт', 3=>'ср', 4=>'чт', 5=>'пт', 6=>'сб', 7=>'вс'];
	$day = 3;

	echo $arr[$day];
?>

Многомерные массивы

Создайте многомерный массив $arr. С его помощью выведите на экран слова 'joomla', 'drupal', 'зеленый', 'красный'.

$arr = [
	'cms'=>['joomla', 'wordpress', 'drupal'],
	'colors'=>['blue'=>'голубой', 'red'=>'красный', 'green'=>'зеленый']
];

Решение:

<?php
	$arr = [
		'cms'=>['joomla', 'wordpress', 'drupal'],
		'colors'=>['blue'=>'голубой', 'red'=>'красный', 'green'=>'зеленый']
	];

	echo $arr['cms'][0]; //joomla
	echo $arr['cms'][2] //drupal;
	echo $arr['colors']['green']; //зеленый
	echo $arr['colors']['red']; //красный
?>

Создайте двухмерный массив. Первые два ключа - это 'ru' и 'en'. Пусть первый ключ содержит элемент, являющийся массивом названий дней недели по-русски, а второй - по-английски. Выведите с помощью этого массива понедельник по-русски и среду по английски (пусть понедельник - это первый день).

Решение:

<?php
	$arr = [
		'ru'=>[1=>'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'],
		'en'=>[1=>'mn', 'ts', 'wd', 'th', 'fr', 'st', 'sn'],
	];

	echo $arr['ru'][1]; //пн
	echo $arr['en'][2]; //wd
?>

Пусть теперь в переменной $lang хранится язык (она принимает одно из значений или 'ru', или 'en' - либо то, либо то), а в переменной $day - номер дня. Выведите словом день недели, соответствующий переменным $lang и $day. То есть: если, к примеру, $lang = 'ru' и $day = 3 - то выведем 'среда'.

Решение:

<?php
	$arr = [
		'ru'=>['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'],
		'en'=>['mn', 'ts', 'wd', 'th', 'fr', 'st', 'sn'],
	];
	$lang = 'ru';
	$day = 3;

	echo $arr[$lang][$day]; //ср
?>