我有几个数组:$n
,$p
,$a
每个数组都是相同的:
$n = array()
$n['minutes'] = a;
$n['dollars'] = b;
$n['units'] = c;
$p = array()
$p['minutes'] = x;
$p['dollars'] = y;
$p['units'] = z;
等...
我也有一个像这样的简单数组:
$status = array('n', 'p', 'a');
我可以使用$ status数组循环遍历其他数组吗?
类似的东西:
foreach($status as $key => $value) {
//display the amounts amount here
};
所以我最终会:
a
x
b
y
c
z
或者,我是否需要以某种方式将所有数组合并为一个?
答案 0 :(得分:2)
foreach($n as $key => $value) {
foreach($status as $arrayVarName) (
echo $$arrayVarName[$key],PHP_EOL;
}
echo PHP_EOL;
}
只要$ status中定义的所有数组都存在,并且你在$ n,$ p和$ a
中有匹配的键,它就会工作已更新以允许$ status
答案 1 :(得分:2)
使用:
$arrayData=array('minutes','dollars','units');
foreach($arrayData as $data) {
foreach($status as $value) {
var_dump(${$value}[$data]);
}
}
答案 2 :(得分:0)
答案 3 :(得分:0)
如果我理解你的目标,我首先将每个数组p / n / ...放在一个数组中:
$status = array();
$status['n'] = array();
$status['n']['minutes'] = a;
$status['n']['dollars'] = b;
$status['n']['units'] = c;
$status['p'] = array();
$status['p']['minutes'] = a;
$status['p']['dollars'] = b;
$status['p']['units'] = c;
然后你可以用:
读取每个数组foreach($status as $name => $values){
echo 'Array '.$name.': <br />';
echo 'Minutes: '.$values['minutes'].'<br />';
echo 'Dollars: '.$values['dollars'].'<br />';
echo 'Units: '.$values['units'].'<br />';
}
有关详情,请尝试使用Google搜索Multidimensional Arrays。