Podemos implementar em php extrair a função em php usando zend api
-
20-09-2019 - |
Pergunta
Extrair a função do php adiciona variáveis de escopo local da função chamada.Como podemos escrever a nossa própria função php extrair que faz o mesmo?
Solução
Eu não acho que você pode fazer isso em pura do PHP :uma função não tem acesso às variáveis do seu chamador.
Isso parece o tipo de coisa que você vai precisar para escrever um C de extensão para desenvolver -- você vai ter mais controle sobre o funcionamento do PHP variáveis de lá.
(E eu realmente não vejo por que você está tentando fazer isso :por que não usar apenas o existente extract
função ?)
Outras dicas
PHPJS é uma biblioteca javascript que contém as funções como as de php, aqui é o seu extrato de função você pode obter uma ideia.Tendo dito isso, eu pergunto por que você está olhando para a sua própria função quando o php já fornece um.
Ok, se for apenas para a diversão, é possível:
<?php
$data=array('a' => 1, 'b' => 2);
foreach ($data as $name => $value) {
${$name} = $value;
}
echo $a;
?>
Mas alguns problemas como conflitos com $data, $nome e $valor e que você não pode envolvê-la em uma função.Mas possível.
Sim é possível,
a razão pela qual eu fiz isso porque eu preciso de algo mais de extrair a função que ele deve aparar os valores muito
function extractArray($ar) {
if(count($ar)>=1) {
foreach($ar as $k=>$v) {
$GLOBALS[$k] = (is_array($v)?$v:trim($v));
}
}
}
Eu só pas minhas $_GET, $_POST, e outra coisa matrizes como este por exemplo:$_GET['username'] = ' justnajm ';extractArray($_GET);
e eu só posso eco e ele irá imprimir 'justnajm'