Можем ли мы реализовать функцию экстракта PHP в PHP без использования Zend API

StackOverflow https://stackoverflow.com/questions/2251386

Вопрос

Функция извлечения PHP добавляет переменные в локальный объем вызова функции. Как мы можем написать нашу собственную функцию PHP, что делает то же самое?

Это было полезно?

Решение

Я не думаю, что вы можете сделать это в Pure-PHP: функция не имеет доступа к переменным его вызывающему.

Это похоже на то, что вам нужно, чтобы написать расширение C для разработки - вы будете иметь больше контроля над внутренними переменными PHP.

(И я не понимаю, почему вы пытаетесь это сделать: почему бы просто не использовать существующие extract функция? )

Другие советы

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

Хорошо, если это просто для удовольствия, это возможно:

<?php
$data=array('a' => 1, 'b' => 2);

foreach ($data as $name => $value) {
    ${$name} = $value;
}

echo $a;
?>

Но некоторые проблемы - как конфликты с данными $, $ name и $ value, и вы не можете обернуть их в функцию. Но возможно.

Да, это возможно,

Причина, по которой я сделал это, потому что мне нужно что -то больше

function extractArray($ar) {
        if(count($ar)>=1) {
            foreach($ar as $k=>$v) {
                $GLOBALS[$k] = (is_array($v)?$v:trim($v));
            }
        }
}

Я просто подбираю свои $ _get, $ _post, и еще массивы, например, например, $ _get ['username'] = 'justnajm'; Extractarray ($ _ Get);

И я могу просто повторить, и это напечатает «justnajm»

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top