Мы принимаем к оплате:

«Подарочный сертификат» от нашего Учебного Центра – это лучший подарок для тех, кто Вам дорог! Оплате обучение и подарите Вашим родным и близким обучение по любому из курсов!!!

«Сертификат на повторное обучение» дает возможность повторно пройти обучение в нашем Учебном Центре со скидкой 1000 рублей!

А также:


Php как преобразовать массив в строку


Преобразование массива в строку

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

Функции, которые мы здесь сегодня рассмотрим будут полезны, как для определенных конкретных задач, так и для отладки программ. Уверена, что они Вам пригодятся. Так что давайте без долгих вступлений приступим к делу!

Преобразовываем массив в строку

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

Первая функция называется implode().

В качестве параметров для этой функции передаются: символ-разделитель, который будет отделять элементы друг от друга (например, тире) и массив, который нужно преобразовать в строку. Результат работы функции можно занести в переменную, которую в дальнейшем можно вывести на экран, чтобы увидеть результат.

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

Как видите, у нас есть простой массив, который мы хотим преобразовать в строку. В качестве разделителя используется «-» (тире). После преобразований мы выводим полученную строку на экран.

А вот то, что мы увидим на экране.

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

Абсолютно то же самое делает и функция join().

Весь код будет идентичен за исключением имени самой функции. И результат, как Вы понимаете, будет в точности таким же.

Преобразовываем массив в строку специального формата

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

Данная функция называется serialize(). В качестве параметра в скобках передается имя массива.

Давайте посмотрим ее работу на примере.

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

Посмотрите на примере.

А вот и результат работы функции с ассоциативным массивом.

Для восстановления массива из строки, преобразованной при помощи функции serialize() мы можем использовать функцию unserialize().

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

Давайте сделаем это из нашего последнего примера.

В итоге обратно получаем наш массив.

Выводим структуру массива

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

Это функция print_r(). В скобка передается имя массива, структуру которого мы хотим вывести.

Думаю, здесь все понятно. Мы получаем структуру массива.

А вот следующая функция var_dump() способна дать нам гораздо больше информации. А именно, мы можем увидеть не только ключ и значение элемента в массиве, а также: количество элементов массива, тип каждого элемента и число символов, которое он содержит (если элемент строчный).

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

Я специально добавила в наш массив один целочисленный элемент и один элемент, который содержит булево значение, чтобы Вы могли оценить результаты работы функции в полной мере. Как видите, она дает достаточно подробную информацию о нашем массиве и о его элементах, так что при отладке и тестировании не забудьте про эту функцию. Ну вот, наверное, на сегодня и все. Буду надеяться, что знакомства с данными функциями поможет Вам при написании кода php и работе с массивами. Добавляйте страничку в «Избранное», чтобы информация всегда была «под рукой».

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

С Вами была Анна Котельникова! Жду Ваших комментариев. Успехов Вам и до скорых встреч!

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

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

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

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

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

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

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

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

Как преобразовать массив в строку в PHP?

Для массива, подобного приведенному ниже; что было бы лучшим способом получить значения массива и сохранить их в виде разделенной запятой строки?

Array ( [0] => 33160, [1] => 33280, [2] => 33180, [3] => 33163, [4] => 33181, [5] => 33164, [6] => 33162, [7] => 33179, [8] => 33154, [9] => 33008, [10] => 33009, [11] => 33161, [12] => 33261, [13] => 33269, [14] => 33169, [15] => 33022, [16] => 33141, [17] => 33168, [18] => 33020, [19] => 33023, [20] => 33019, [21] => 33153, [22] => 33238, [23] => 33138, [24] => 33167, [25] => 33082,)

Как преобразовать массив в строку в PHP?

Для массива, подобного приведенному ниже; что было бы лучшим способом получить значения массива и сохранить их как строку, разделенную запятыми?

Array ( [0] => 33160, [1] => 33280, [2] => 33180, [3] => 33163, [4] => 33181, [5] => 33164, [6] => 33162, [7] => 33179, [8] => 33154, [9] => 33008, [10] => 33009, [11] => 33161, [12] => 33261, [13] => 33269, [14] => 33169, [15] => 33022, [16] => 33141, [17] => 33168, [18] => 33020, [19] => 33023, [20] => 33019, [21] => 33153, [22] => 33238, [23] => 33138, [24] => 33167, [25] => 33082,)

Конвертировать массив в строку при помощи PHP

Если вам потребовалось преобразовать массив php в строку, то для этого есть несколько инструментов. Применение того или иного инструмента зависит от ваших целей.

1. Функция implode()

С ее помощью можно «склеить» элементы массива в строку, через любой разделитель. Подробнее: implode Пример:

echo implode('|', array(1, 2, 3)); // выдаст строку: 1|2|3

У этой функции есть антагонист explode(), который наоборот разбивает строку по разделителю, на элементы массива. Подробнее: explode

2. Функция serialize()

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

Подробнее: serialize


Смотрите также



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

Для начинающих


A

Компьютер для начинающих: Word, Excel, Access и другие программы!

Графические пакеты


B

Популярные пакеты Adobe Photoshop, CorelDraw, ArchiCAD, AutoCAD и другие!

WEB + анимация


C

Курсы по созданию сайтов, WEB-дизайну и крутой анимации в Adobe Flash!

Бухгалтерия + делопроизводство

Сетевые технологии


E

Курсы сборки ПК, системных администраторов и защиты информации!