list
Заносит элементы массива в переменные.
Синтаксис :
list() - языковая конструкция (наподобие array()). Она присваивает перечисленным переменным значения элементов массива, причем первой переменной присваивается первый элемент массива, второй переменной - второй элемент и т.д.
Заносит элементы массива в переменные.
Синтаксис :
list() - языковая конструкция (наподобие array()). Она присваивает перечисленным переменным значения элементов массива, причем первой переменной присваивается первый элемент массива, второй переменной - второй элемент и т.д.
compact
Упаковывает в массив переменные из текущего контекста.
Синтаксис :
array compact(mixed varname1 [, mixed $varname2, ...])
Функция compact() упаковывает в массив переменные из текущего контекста (глобального или контекста функции), заданные своими именами в varname1, $varname2 и т.д. При этом в массиве образуются пары с ключами, равными содержимому varnameN, и значениями соответствующих переменных.
Число аргументов может быть неопределенное.
Если в аргументе указано имя несуществующей переменной, он пропускается. Действие этой функции противоположно функции extract().
Упаковывает в массив переменные из текущего контекста.
Синтаксис :
array compact(mixed varname1 [, mixed $varname2, ...])
Функция compact() упаковывает в массив переменные из текущего контекста (глобального или контекста функции), заданные своими именами в varname1, $varname2 и т.д. При этом в массиве образуются пары с ключами, равными содержимому varnameN, и значениями соответствующих переменных.
Число аргументов может быть неопределенное.
Если в аргументе указано имя несуществующей переменной, он пропускается. Действие этой функции противоположно функции extract().
$a="Test string"; $b="Some text"; $A=compact("a","b"); // теперь $A===array("a"=>"Test string", "b"=>"Some text")Почему же тогда параметры функции обозначены как mixed? Дело в том, что они могут быть не только строками, но и списками строк. В этом случае функция последнего перебирает все элементы этого списка, и упаковывает те переменные из текущего контекста, имена которых она встретила. Более того - эти списки могут, в свою очередь, также содержать списки строк, и т.д. Правда, последнее используется достаточно редко.
$a="Test"; $b="Text"; $c="CCC"; $d="DDD"; $List=array("b",array("c","d")); $A=compact("a",$List); // теперь $A===array("a"=>"Test", "b"=>"Text", "c"=>"CCC", "d"=>"DDD")
extract
экспорт элементов массива в переменные.
Синтаксис :
void extract(array arr [, int extract_type] [, string prefix])
Эта функция производит действия, прямо противоположные compact(). А именно, она получает в параметрах массив arr и превращает каждую его пару ключ=>значение в переменную текущего контекста.
Параметр extract_type предписывает, что делать, если в текущем контексте уже существует переменная с таким же именем, как очередной ключ в arr. Он может быть равен одной из констант, перечисленных в следующей таблице:
По умолчанию подразумевается EXTR_OVERWRITE, т.е. переменные перезаписываются.
экспорт элементов массива в переменные.
Синтаксис :
void extract(array arr [, int extract_type] [, string prefix])
Эта функция производит действия, прямо противоположные compact(). А именно, она получает в параметрах массив arr и превращает каждую его пару ключ=>значение в переменную текущего контекста.
Параметр extract_type предписывает, что делать, если в текущем контексте уже существует переменная с таким же именем, как очередной ключ в arr. Он может быть равен одной из констант, перечисленных в следующей таблице:
|
По умолчанию подразумевается EXTR_OVERWRITE, т.е. переменные перезаписываются.
// Сделать все переменные окружения глобальными extract($HTTP_ENV_VARS); // То же самое, но с префиксом E_ extract($HTTP_ENV_VARS, EXTR_PREFIX_ALL, "E_"); echo $E_COMSPEC; // Выводит переменную окружения COMSPECПараметр prefix имеет смысл указать только тогда, когда вы применяете режимы EXTR_PREFIX_SAME или EXTR_PREFIX_ALL.