数组中的PHP值
我正在尝试解决如何根据数组名从三个数组中的一个数组中获取值数组中的PHP值,php,arrays,Php,Arrays,我正在尝试解决如何根据数组名从三个数组中的一个数组中获取值 $ABC001 = array('A'=>'10','B'=>'2','C'=>'1.0'); $ABC002 = array('A'=>'20','B'=>'4','C'=>'1.1'); $ABC003 = array('A'=>'30','B'=>'6','C'=>'1.2'); 我有一个变量传递给我的脚本,它将包含如下内容ABC@001或ABC@002 我正在删除@,因此v
$ABC001 = array('A'=>'10','B'=>'2','C'=>'1.0');
$ABC002 = array('A'=>'20','B'=>'4','C'=>'1.1');
$ABC003 = array('A'=>'30','B'=>'6','C'=>'1.2');
我有一个变量传递给我的脚本,它将包含如下内容ABC@001或ABC@002
我正在删除@,因此var值现在与数组名匹配/
$test = str_replace('@','',$var);
如果我执行var_dump$$test,我将从正确的数组中获取所有值,但是如果执行echo$$test['A']或echo$$test[0],我不会从正确数组中的第一个键获取值
有人能建议怎么做吗
谢谢尝试使用${$test}获取数组的值
<?php
$ABC001 = array('A'=>'10','B'=>'2','C'=>'1.0');
$ABC002 = array('A'=>'20','B'=>'4','C'=>'1.1');
$ABC003 = array('A'=>'30','B'=>'6','C'=>'1.2');
$var = "ABC@002";
$test = str_replace('@','',$var);
var_dump(${$test}['A']);
为了在数组中使用变量,必须解决歧义问题。也就是说,如果您编写$$test['A'],那么解析器需要知道您是否打算使用$test['A']作为变量,解决这种歧义的语法是:${$test}['A']。请检查此处的文档创建一个数组:$ABC=['001'=>['A'=>'10',…],…]!