|
||||||||||
extract(PHP 3>= 3.0.7, PHP 4) extract - импортирует переменные в текущую таблицу символов из массива. Описаниеint extract (array var_array [, int extract_type [, string prefix]]) Эта функция используется для импорта переменных из массива в текущую таблицу символов. Она принимает ассоциативный массив var_array и рассматривает ключи как имена переменных, а значения - как значения. Для каждой пары key/value она создаёт переменную в текущей таблице символов - субъект параметров extract_type и prefix .
extract() проверяет каждый ключ/key - образует ли он верное имя переменной, а также смотрит, нет ли конфликтов с существующими именами в таблице символов. Способ, которым обрабатываются неверные/числовые ключи и конфликты, определяется в extract_type . Это может быть одно из следующих значений:
Если extract_type не специфицирован, принимается, что он будет EXTR_OVERWRITE. Заметьте, что prefix необходим только тогда, когда extract_type равен EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID или EXTR_PREFIX_IF_EXISTS. Если результат с префиксом не является правильным именем переменной, он не импортируется в таблицу символов. extract() возвращает количество переменных, успешно импортированных в таблицу символов. Можно использовать extract для импорта в таблицу символов переменных, содержащихся в ассоциативном массиве, возвращаемом функцией wddx_deserialize() . На выходе будет:
Переменная $size не была перезаписана, поскольку мы специфицировали EXTR_PREFIX_SAME, что даёт в результате создание $wddx_size. Если EXTR_SKIP был специфицирован, то $wddx_size не могла бы быть создана. EXTR_OVERWRITE мог бы дать для $size значение "medium", а EXTR_PREFIX_ALL привело бы к созданию новых переменных $wddx_color, $wddx_size и $wddx_shape. Вы обязаны использовать ассоциативный массив, так как массив, индексированный числами, не даст нужных результатов, если только вы не используете EXTR_PREFIX_ALL или EXTR_PREFIX_INVALID. См. также compact() . |
||||||||||
|