Как получить и заменить часть массива в php

Сегодня продолжим изучение массивов в php и поговорим о том, как можно получить любую, интересующую нас часть массива, а также о том, как можно заменить какую-либо часть массива в php на что-то еще.

дополнительные материалы к урокам демо версия урока

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

Сегодня мы рассмотрим две функции, при помощи которых можно получить определенную часть массива, а также заменить часть массива на что-то еще, например, на переменную или другой массив.

А потом я покажу Вам небольшой пример с одной из этих функций, который, как раз, подразумевает взаимодействие с пользователем и определенную динамику наших страниц.

Давайте начнем!

Получаем часть массива при помощи функции array_slice()

Итак, чтобы получить определенную часть массива, применяется функция array_slice().

Данной функции передается три параметра: Массив, Начальная позиция, Количество элементов.

Исходя из этого, можно предположить, что мы можем выбрать любую часть массива (из начала, из конца или из середины), и эта часть будет включать в себя нужное нам число элементов.

Результатом работы данной функции будет массив из выбранных элементов. То есть, если мы занесем результат работы функции в переменную, то далее сможем вывести на экран массив выбранных элементов, или сделать с ним что-то еще.

Давайте посмотрим на примере:

<?php $mass = array(1,2,3,4,5,6); $mass1 = array_slice($mass,2,2); print_r ($mass1); ?>

получение части массива Вот этот нехитрый код выбирает два элемента из массива «$mass», начиная со второго элемента, в данном случае – это элемент со значением «3». Мы заносим результат выборки в переменную «$mass1», а потом выводим результат на экран. В итоге мы и получаем два элемента из середины массива.

Кстати, второй параметр, который принимает функция array_slice(), может быть и отрицательным! Тогда отсчет начальной позиции будет производиться с конца массива.

Например, если мы у кода, приведенного выше, поменяем только знак второго параметра функции, то получим уже совсем другой результат.

<?php $mass = array(1,2,3,4,5,6); $mass1 = array_slice($mass,-2,2); print_r ($mass1); ?>

получение части массива. Отсчет с конца массива Как видите, теперь мы получили в качестве выбранных элементов элементы со значениями «5» и «6». Так как мы указали Начальную позицию со знаком минус, то отсчет начался с конца массива, после чего и были выбраны два элемента.

Замена полученной части массива

Полученную часть массива мы можем заменить одним элементом, либо массивом элементов.

Здесь нам поможет функция array_splice().

Она уже принимает четыре параметра: Массив, Начальную позицию, Количество элементов, Добавляемый массив.

То есть сначала мы указываем с каким массивом будем работать, сколько элементов и откуда выбирать и на что их заменять.

В общем то здесь все достаточно просто.

<?php $mass = array(1,2,3,4,5,6); $mass2 = array('two','three'); array_splice($mass,1,2,$mass2); print_r ($mass); ?>

замена части массива в php Как видите, здесь у нас есть основной массив «$mass» и массив, которым мы будем заменять часть элементов «$mass2».

Функция array_splice() принимает четыре параметра: массив, с которым работаем, начальную позицию, сколько элементов будем удалять и на что заменять.

А после всего этого мы выводим массив «$mass» на экран уже с замененными элементами.

Практический пример замены части массива

Давайте теперь рассмотрим небольшой практический пример с заменой элементов массива, которую будет осуществлять сам пользователь через специальную форму и сразу видеть результат своей замены.

Например, у нас есть специальная форма, в которую пользователь может ввести параметры для написания заголовка: текст заголовка, цвет, размер шрифта. А потом, нажав на специальную кнопку, он может увидеть созданный им стиль заголовка и понять нравится он ему или нет.

Для этого я сначала создам html-документ, в котором и пропишу код для данной формы. В качестве метода передачи укажем «post», а в качестве файла, который будет обрабатывать форму файл «mass8.php» - его мы создадим совсем скоро.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Untitled Document</title> </head> <body> <h3>Создадим стиль для заголовка</h3> <form method="post" action="mass8.php"> <label for="title">Заголовок:</label> <input type="text" name="title" id="title"><br> <label for="color">Цвет:</label> <input type="text" name="color" id="color"><br> <label for="fontSize">Размер шрифта:</label> <input type="number" name="fontSize" id="fontSize"><br> <input type="submit" value="Посмотреть заголовок"> </form> </body> </html>

форма для создания стиля заголовка Вот так будет выглядеть наша форма. Она без стилей и смотрится немного коряво, но при желании Вы можете задать необходимые стили и сделать ее красивой, моя же задача сейчас – показать, как все это будет работать, поэтому стилизацию формы я опущу и оставлю на Ваше усмотрение.

А теперь самое интересное.

Создаем файл-обработчик формы «mass8.php».

Для начала в этом файле мы объявим массив с тремя элементами: содержанием заголовка, цветом и размером шрифта. Можно установить какие-либо начальные значения, либо оставить просто три пусты элемента массива. Я задам начальные значения, которые потом будут заменяться пользовательскими.

Далее получаем значения из нашей формы и заносим их в переменные.

После этого формируем еще один массив, элементами которого будут являться как раз эти переменные, полученные из формы.

А теперь применяем функция array_splice(). Выбираем с нулевого элемента три элемента (то есть, в нашем случае, все) и заменяем элементы пользовательскими.

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

<?php $Mass = array('Заголовок','black','14'); $title = $_POST['title']; $color = $_POST['color']; $fontSize = $_POST['fontSize']; $Mass2 = array($title,$color,$fontSize); array_splice($Mass,0,3,$Mass2); echo '<p style="font-size:'.$Mass[2].'; color:'.$Mass[1].'">'.$Mass[0].'</p>'; echo '<a href="mass8.html">Вернуться назад и попробовать еще</a>'; ?>

Теперь, когда наш пользователь будет вводить свои параметры для написания заголовка, заголовок с этими параметрами будет отображаться на экране, и пользователь сможет наглядно увидеть, как это выглядит.

Цвет можно вводить, как кодом, так и названием цвета на английском языке.

Вы можете протестировать этот мини-пример, перейдя по иконке «Демо» в начале статьи.

заполнение формы для формирования стиля заголовка

стиль заголовка, сформированный при помощи замены части массива в php

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

Надеюсь урок был Вам полезен. Успехов Вам в освоении массивов.

Урок для Вас подготовила Анна Котельникова.

Подписывайтесь на обновления блога, оставляйте свои комментарии и делитесь уроком с друзьями при помощи кнопок соц. сетей. Буду Вам очень даже благодарна!

До новых скорых встреч, друзья!

Массивы – что это и как с ними работать?

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

Перебор элементов массива в php

Добавление и удаление элементов массива

Сортировка массива в php

Переворачиваем и перемешиваем массив в php

Выбираем случайный элемент массива с array_rand()

Использование многомерных ассоциативных массивов

Понравилась статья? Поделись с друзьями!


Будьте в курсе новых публикаций на Блоге!

rss podpiska

Введите Ваш E-mail:


Комментарии к этой статье:

Добавить Комментарий:


Введите сумму чисел с картинки:

Почему стоит подписаться на обновления блога

Будьте в курсе новых публикаций на Блоге!

rss podpiska

Введите Ваш E-mail: