Zend API를 사용하여 PHP에서 PHP 추출 기능을 구현할 수 있습니까?
-
20-09-2019 - |
문제
PHP의 추출 기능은 호출 함수의 로컬 범위에 변수를 추가합니다. 우리는 어떻게 동일하게하는 자체 PHP 기능 추출물을 작성할 수 있습니까?
해결책
Pure-PHP에서는 그렇게 할 수 있다고 생각하지 않습니다. 함수는 발신자의 변수에 액세스 할 수 없습니다.
이것은 개발을 위해 C 확장을 작성하는 데 필요한 종류의 것 같습니다. PHP 변수의 내부를 더 많이 제어 할 수 있습니다.
(그리고 나는 당신이 왜 그렇게하려고하는지 실제로 알지 못합니다. 기존을 사용하지 않는 이유는 무엇입니까? extract
기능 ? )
다른 팁
좋아, 그것이 재미를위한 것이라면 가능합니다.
<?php
$data=array('a' => 1, 'b' => 2);
foreach ($data as $name => $value) {
${$name} = $value;
}
echo $a;
?>
그러나 $ 데이터, $ 이름 및 $ 값과의 충돌과 같은 일부 문제는 함수로 래핑 할 수 없습니다. 그러나 가능합니다.
예, 가능합니다.
추출 기능에서 더 많은 것을 필요로하기 때문에 값을 다듬어야하는 이유
function extractArray($ar) {
if(count($ar)>=1) {
foreach($ar as $k=>$v) {
$GLOBALS[$k] = (is_array($v)?$v:trim($v));
}
}
}
나는 단지 내 $ _get, $ _post를 pas로 pas 그리고 eg $ _get [ 'username'] = 'justnajm'; extractArray ($ _ get);
그리고 난 그냥 반향 할 수 있고 'Justnajm'을 인쇄 할 것입니다.
제휴하지 않습니다 StackOverflow