Получение части массива

Опубликовал: Четверг, Март 22, 2012 в категории HTML | Пока нет комментариев

Для получения части массива используется функция array_slice(). Вызов функции имеет следующий формат:

array_slice(<Массив>, <Начальная позиция>[, <Количество элементов>]);

Функции передаются следующие параметры:

? <Массив> — исходный массив;

? <Начальная позиция> — количество элементов от начала массива, кото-

рые надо пропустить;

? <Количество элементов> — количество элементов, которое нужно полу- чить из исходного массива. Если параметр опущен, то элементы выбира- ются до конца массива.

Например:

$Mass = array(‘Один’, ‘Два’, ‘Три’, ‘Четыре’, ‘Пять’);

$Mass2 = array_slice($Mass, 2, 3);

print_r($Mass2);

// Array ( [0] => Три [1] => Четыре [2] => Пять )

Полученную часть массива можно заменить одним элементом или массивом элементов с помощью функции array_splice(). Вызов функции осуществ- ляется так:

array_splice(<Массив>, <Начальная позиция>, <Количество элементов>,

<Добавляемый массив>);

Первые три параметра имеют такое же значение, как и у функции array_slice(). Четвертый параметр <Добавляемый массив> — один элемент или массив эле- ментов, добавляемый вместо выбранных элементов:

$Mass1 = array(‘Один’, ‘Два’, ‘Три’, ‘Четыре’, ‘Пять’);

$Mass2 = array(’3′, ’4′, ’5′); array_splice($Mass1, 2, 3, $Mass2); print_r($Mass1);

// Array ( [0] => Один [1] => Два [2] => 3 [3] => 4 [4] => 5 )

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

Функция compact() позволяет преобразовать переменные в ассоциативный массив. Ключами становятся имена переменных, а значениями — значения переменных:

$var1 = 1;

$var2 = 2;

$var3 = 3;

$Mass = compact(‘var1′, ‘var2′, ‘var3′);

print_r($Mass);

// Array ( [var1] => 1 [var2] => 2 [var3] => 3 )

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

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

extract(<Массив>, [<Способ>], [<Префикс>]);

Можно указывать следующие параметры:

? <Массив> — исходный ассоциативный массив;

? <Способ> — способ обработки конфликтных ситуаций. Может принимать следующие значения:

• EXTR_OVERWRITE — если переменная существует, то ее значение пере-

записывается (значение по умолчанию);

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

пускается;

• EXTR_PREFIX_SAME — если переменная существует, то перед именем переменной будет добавлен префикс, указанный в параметре <Пре- фикс>;

• EXTR_PREFIX_ALL — перед именем всех переменных будет добавлен префикс, указанный в параметре <Префикс>;

• EXTR_IF_EXISTS — извлекает значения только тех переменных, кото-

рые уже существуют;

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

Например:

$var1 = ‘Привет’;

$Mass = array(‘var1′ => ‘value1′, ‘var2′ => ‘value2′, ‘var3′ =>

‘value3′);

extract($Mass, EXTR_PREFIX_SAME, ‘s’);

echo "$var1 $s_var1 $var2 $var3";

// Выведет: Привет value1 value2 value3

Так как переменная $var1 существует, то перед именем создаваемой пере- менной будет добавлен префикс s_. Все остальные ключи были преобразова- ны в одноименные переменные.

Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)

Add to Social Bookmarks
  • del.ici.ous
  • Digg
  • Furl
  • Google
  • Simpy
  • Spurl
  • Y! MyWeb
  • BobrDobr
  • Mr. Wong
  • Yandex.Bookmarks
  • Text 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Google Bookmarks
  • Pisali
  • SMI 2
  • Moe Mesto
  • 100 Zakladok
  • Vaau!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - I.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>