我们可以实现一个php提取功能在php与使用zend api
-
20-09-2019 - |
题
提取功能的php增加了变量的局部范围的调功能。我们怎么可以写我们自己的php功能提取这么一样吗?
解决方案
我不认为你可以做,在纯PHP:函数没有访问调用者的变量
这看起来像诸如此类的事情,你需要写一个C扩展开发 - 你必须在PHP变量有内部的更多控制。
。 (我真的不明白为什么你正在试图做的是:为什么不直接使用现有的 extract
功能?)
其他提示
确定,如果是只为它的乐趣它是可能的:
<?php
$data=array('a' => 1, 'b' => 2);
foreach ($data as $name => $value) {
${$name} = $value;
}
echo $a;
?>
但是,一些问题 - 像$数据,$ name和$值,你不能在一个函数把它包冲突。但是可能的。
是可能的是,
为什么我这样做是因为我需要提取功能更多的东西,它应该修剪得值的理由
function extractArray($ar) {
if(count($ar)>=1) {
foreach($ar as $k=>$v) {
$GLOBALS[$k] = (is_array($v)?$v:trim($v));
}
}
}
我只是考绩我的$ _GET,$ _ POST和其他阵列这样的 对于如 $ _GET [ '用户名'] = 'justnajm'; extractArray($ _ GET);
和我可以只是回声和将打印“justnajm”
不隶属于 StackOverflow