我有一个问题,我现在无法解决(以一种简单的方式):
$clients = array("A", "B");
$array_data_A = array(
array("1000733", "1.6.0"),
array("1000733", "1.8.0"),
array("1000733", "1.8.1"),
array("1000733", "1.8.2"),
array("1000733", "1.8.3"),
array("1000733", "1.8.4"),
);
$array_data_B = array(
array("1000733", "1.6.0"),
array("1000733", "1.8.0"),
array("1000733", "1.8.1"),
array("1000733", "1.8.2"),
array("1000733", "1.8.3"),
array("1000733", "1.8.4"),
);
现在我可以做到这一点:
foreach ($clients as $client) {
// won't work
$data_array = '$array_data'.$client;
getsqldata($client, $data_array);
// works
switch ($client) {
case "A":
getsqldata($client, $array_data_A);
break;
}
}
这是用case函数解决这个问题的唯一方法吗?或者是否有可能在变量中存储一个字符串,可以用作对正确数组的引用?
因为我有很多客户(50+)我正在寻找一种动态的方法来解决这个问题......
答案 0 :(得分:2)
在字符串中,你遗漏了其中一些_
。
将其更改为:
$data_array = '$array_data'.$client;
的此:强>
$data_array = ${'array_data_' . $client};
答案 1 :(得分:1)