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

/ 👁 5874

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

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

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

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

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

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

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

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

<?php
$Mass = array('Чай','Кофе','Молоко');
$str = implode('-',$Mass);
echo $str;
?>

 

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

преобразование массива в строку при помощи функции implode()
А вот то, что мы увидим на экране.

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

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

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

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

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

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

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

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

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

<?php
$Mass = array('Audi','Ferrari','Toyota');
$str = serialize($Mass);
echo $str;
?>

 

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

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

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

<?php
$Mass = array('Car'=>'Audi','Car1'=>'Ferrari','Car2'=>'Toyota');
$str = serialize($Mass);
echo $str;
?>

 

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

функция serialize() с ассоциативным массивом

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

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

В качестве параметра в скобках, нужно будет передать имя переменной, в которой лежит наша строка.

Далее мы можем распечатать массив, чтобы убедиться, что функция отработала корректно.

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

<?php
$Mass = array('Car'=>'Audi','Car1'=>'Ferrari','Car2'=>'Toyota');
$str = serialize($Mass);
$Mass1 = unserialize($str);
print_r ($Mass1);
?>

 

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

восстановление массива из строки

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

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

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

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

<?php
$Mass = array('Audi','Ferrari','Toyota');
echo '<pre>';
print_r ($Mass);
echo '</pre>';
?>

 

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

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

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

<?php
$Mass = array('Audi',5,'Toyota',false);
echo '<pre>';
var_dump($Mass);
echo '</pre>';
?>

 

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

Как видите, она дает достаточно подробную информацию о нашем массиве и о его элементах, так что при отладке и тестировании не забудьте про эту функцию.

Ну вот, наверное, на сегодня и все.

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

Добавляйте страничку в «Избранное», чтобы информация всегда была «под рукой».

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

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

Успехов Вам и до скорых встреч!

5 комментариев

  1. ANG PROBINSYANO REPLAY 08.07.2019
  2. kadenang ginto latest episode 08.07.2019
  3. kadenang ginto full episode 08.07.2019
  4. soi468993.tumblr.com 16.07.2019
  5. Dima 29.07.2020

Leave a Reply