提问人:LukasS 提问时间:1/2/2015 更新时间:1/2/2015 访问量:35
带数组的变量
Variable variables with arrays
问:
我正在更新软件,将银行对账单的XML文件导入发票软件。 其中一个操作是通过迭代在 xml 文件的结构中查找值(此时文件本身已转换为关联数组)。
我想实现的是在配置文件中设置某种映射供软件的其余部分使用,这将显示在哪里查找该关联数组中的特定数据,例如交易日期、支付的现金金额等。
所以第一个 cfg 映射数组:
"map"=>array(
"date"=>"ARRAY['exec-date']",
"amount"=>"ARRAY['amount']['value']"
);
然后使用该映射,使用变量变量在这些键值中提供的结构(从 XML 中)获取适当的值:
$amount = ${$map['amount']};
这可能吗?还是我那么累,很容易,我只是被封锁了?
答:
2赞
Barmar
1/2/2015
#1
您可以使用匿名函数:
$map = array(
"date" => function($x) { return $x['exec-date']; },
"amount" => function($x) { return $x['amount']['value']; }
);
然后你会做:
$amount = $map['amount']($xml);
评论
0赞
LukasS
1/2/2015
谢谢你,使用 create_function() 我设法实现了这一点。谢谢你:)。
下一个:PHP 动态访问关联数组
评论