Как преобразовать переменные в массив и массив в переменные

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

преобразование массивов в php Достаточно часто на практике возникают ситуации, когда необходимо преобразовать переменные в массив.

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

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

Чтобы во всех этих ситуациях у Вас не возникло никаких проблем, сегодня мы и рассмотрим обе эти операции: преобразование переменных в массив и преобразование массива в переменные.

Преобразование переменных в массив

Начнем мы с преобразования переменных в массив.

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

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

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

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

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

<?php $a=1; $b=2; $c=3; $Mass1 = compact('a','b','c'); print_r($Mass1); ?>

преобразование переменных в массив Как видите, у нас было три переменные, которые мы укомплектовали в массив «Mass1», после чего вывели этот массив на экран, дабы убедиться, что получилось именно то, к чему мы стремились.

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

Преобразование массива в переменные

Давайте теперь рассмотрим и обратный процесс – преобразование массива в переменные.

Здесь в общем то тоже нет ничего сложного, хотя нюансов немного больше.

Для преобразования массива в переменные мы будем использовать функцию extract().

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

Однако, помимо имени самого массива, функция в качестве аргументов может принимать еще 2 параметра: Способ и Префикс.

Способ - это способ обработки конфликтных ситуаций. И он может принимать различные значения:

EXTR_OVERWRITE - если переменная существует, то ее значение переписывается (это значение по умолчанию);

EXTR_SKIP - если переменная существует, то элемент массива пропускается;

EXTR_PREFIX_SAME - если переменная существует, то перед именем переменной будет добавлен префикс, который указывается в третьем параметре – «Префикс»;

EXTR_PREFIX_ALL - перед именем всех переменных будет добавлен префикс, указанный в параметре «Префикс»;

EXTR_IF_EXISTS - извлекает параметры только тех переменных, которые уже существуют;

EXTR_REFS - извлекает переменные как ссылки.

Префикс - это тот префикс, который мы добавляем при необходимости.

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

Сначала преобразуем массив в переменные, к именам которых добавим некоторый префикс.

<?php $a='Один'; $Mass2 = array('a'=>1, 'b'=>2, 'c'=>3); extract($Mass2, EXTR_PREFIX_SAME, 'var'); echo "$a $var_a $b $c"; ?>

преобразование массива в переменные Так как переменная «$a» у нас уже существует, то при преобразовании массива в переменные к переменной «$a» из массива добавляется префикс, который мы прописали в третьем параметре функции extract() - «var». Таким образом мы избежали конфликта имен переменных. У нас сохранилась переменная «$a», но также преобразовался в переменную и элемент массива с ключом «a». При выводе на экран это можно увидеть.

Давайте для примера рассмотрим применение еще одного Способа.

<?php $a='Один'; $Mass2 = array('a'=>1, 'b'=>2, 'c'=>3); extract($Mass2, EXTR_IF_EXISTS); echo "$a $b $c"; ?>

различные способы при преобразовании массива в переменные Этот Способ извлечет значения только тех переменных, которые уже существуют. А в данном случае существует у нас только переменная «$a», следовательно, и при выводе на экране мы увидим только одно значение – «1».

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

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

А сегодня на этом все.

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

Подписывайтесь на обновления блога, чтобы всегда быть в курсе всех новых публикаций.

С Вами была Анна Котельникова.

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

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

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

Заработок на контекстной рекламе

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


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

rss podpiska

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


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

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


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

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

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

rss podpiska

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