Урок 3. Задачи на основы работы с массивами в PHP

Урок 3. Задачи на основы работы с массивами в PHP

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

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

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

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

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

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

Урок 3. Задачи на основы работы с массивами в PHP

Урок 3. Задачи на основы работы с массивами в PHP

www.homa.xp3.biz

Практика

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

Задача

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

Решение:

<?/*Выведем фразу 'Привет, мир!'*/$a=['Привет, ','мир','!'];echo$a[0].$a[1].$a[2]?>

Привет, мир!

Разберем это решение.

Слово 'Привет, ' хранится под номером 0, это значит, что для доступа к нему мы должны написать $a[0].

Для доступа к слову 'мир' мы должны написать $a[1], а $a[2] содержит в себе '!'. Далее с помощью оператора 'точка' мы сложим 3 наши строки ('Привет, ', 'мир' и '!') в 1 строку таким образом: $a[0].$a[1].$a[2], и выведем на экран с помощью echo.

Задача

Решим немного другую задачу: дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо записать в переменную $text фразу 'Привет, мир!', а затем вывести на экран содержимое этой переменной.

Решение:

<?$a=['Привет, ','мир','!'];$t=$a[0].$a[1].$a[2];/*В переменной $t теперь лежит строка 'Привет, мир!'. Выведем ее на экран:*/echo$t?>

Привет, мир!

Задача

Дан массив ['Привет, ','мир','!']. Необходимо записать в 1-й элемент (т.е. элемент с номером 0) этого массива слово 'Пока, ' (т.е. вместо слова 'Привет, ' будет 'Пока, ').

Решение:

<?$a=['Привет, ','мир','!'];
$a[0]='Пока, ';//Перезапишем 1-й элемент массива
var_dump($a);//Посмотрим на массив и убедимся в том, что он изменился
?>

array(3) { [0]=> string(6) "Пока, " [1]=> string(3) "мир" [2]=> string(1) "!" }

Задача. Ассоциативные массивы

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

<?/*Дан массив:*/$a=['Коля'=>'1000$','Вася'=>'500$','Петя'=>'200$']?>

Решение: чтобы вывести зарплату Коли следует вывести значение элемента массива с ключом 'Коля'. Сделаем это:

<?$a=['Коля'=>'1000$','Вася'=>'500$','Петя'=>'200$'];echo$a['Коля']/*Выведет 1000$*/?>

1000$

Задача. Способы создания массива

Создать массив $a с элементами 1,2,3,4,5 2-мя различными способами.

Решение:

1-й способ создать массив - объявить его через []:

<?$a=[1,2,3,4,5];var_dump($a)?>

array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }

2-й способ создания массива - это поступить таким образом:

<?$b[]=1;$b[]=2;$b[]=3;$b[]=4;$b[]=5;var_dump($b)?>

array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }

Задача. Многомерный массив

Дан многомерный массив $a:

<?$a=['ru'=>['голубой','красный','зеленый'],'en'=>['blue','red','green']];var_dump($a)?>

array(2) { ["ru"]=> array(3) { [0]=> string(7) "голубой" [1]=> string(7) "красный" [2]=> string(7) "зеленый" } ["en"]=> array(3) { [0]=> string(4) "blue" [1]=> string(3) "red" [2]=> string(5) "green" } }

Выведите с его помощью слово 'голубой'.

Решение: так как массив многомерный (в нашем случае 2-мерный), то нам придется написать несколько квадратных скобок подряд. Поясню это по шагам. Давайте сделаем так:

<?var_dump($a['ru'])?>

array(3) { [0]=> string(7) "голубой" [1]=> string(7) "красный" [2]=> string(7) "зеленый" }

В этом случае результатом будет массив ['голубой','красный','зеленый'], который является частью нашего многомерного массива. Чтобы вывести слово 'голубой', на необходимо дописать еще 1 квадратную скобку с ключом, соответствующим этому элементу (у него нет явного ключа - значит его ключ 0):

<?echo$a['ru'][0]/*Выведет голубой*/?>

голубой

Выведем теперь слово красный:

<?echo$a['ru'][1]/*Выведет красный*/?>

красный

Выведем red:

<?echo$a['en'][1]/*Выведет red*/?>

red

Задачи для решения. Работа с массивами

Создайте массив $a=['a','b','c']. Выведите значение массива на экран с помощью функции var_dump().

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

array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }

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

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

abc

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

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

a+b, c+d

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

<?$a=[2,5,3,9];echo$a[0]*$a[1].', '.$a[2]*$a[3];$r=$a[0]*$a[1]+$a[2]*$a[3];echo'<p>'.$r?>

10, 27

37

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

<?$a[]=1;$a[]=2;$a[]=3;$a[]=4;$a[]=5;var_dump($a)?>

array(9) { [0]=> int(2) [1]=> int(5) [2]=> int(3) [3]=> int(9) [4]=> int(1) [5]=> int(2) [6]=> int(3) [7]=> int(4) [8]=> int(5) }

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

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

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

3

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

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

6

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

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

200$

1000$

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

<?$a=[1=>'пн','вт','ср','чт','пт','сб','вс'];echo$a[3]?>

ср

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

<?$a=[1=>'пн','вт','ср','чт','пт','сб','вс'];$d=3;echo$a[$d]?>

ср

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

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

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

joomla

drupal

зеленый

красный

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

понедельник

sreda

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

среда

subbota

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

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

×

Ваше письмо