Я хочу перебрать весь массив массивов.
Что я имею:
$params = [
'regs' => [156, 154, 138, 132, 142, 144],
'axis' => [0, 0, 0, 0, 0, 0],
'visible' => [1, 1, 0, 1, 0, 0],
'dependencies' => [1, 1, 1, 1, 1, 1],
];
Что я хочу получить:
foreach() {
foreach() {
render_element(reg = 156, axis = 0, visible = 1, dep = 1);
*render_element(reg = 154, axis = 0, visible = 1, dep = 1);
*render_element(reg = 138, axis = 0, visible = 0, dep = 1); etc
}
}
Вы можете повторить в первом regs
массив и использовать тот же ключ для печати значений из других массивов, так как ключи выглядят одинаково, как следует
foreach($params['regs'] as $key => $val) {
echo 'render_element(reg ='. $val.', axis ='. $params['axis'][$key].', visible ='. $params['visible'][$key].', dep ='.$params['dependencies'][$key].');' . "\n";
}
Это напечатает
render_element(reg =156, axis =0, visible =1, dep =1);
render_element(reg =154, axis =0, visible =1, dep =1);
render_element(reg =138, axis =0, visible =0, dep =1);
render_element(reg =132, axis =0, visible =1, dep =1);
render_element(reg =142, axis =0, visible =0, dep =1);
render_element(reg =144, axis =0, visible =0, dep =1);
Если вы уверены, что все массивы в параметрах имеют одинаковую длину, вы можете использовать обычный цикл for:
for($i=0; $i<count($params["regs"]); ++$i)
{
render_element($params["regs"][i],
$params["axis"][i],
$params["visible"][i],
$params["dependencies"][i])
}
Хей МаоСтрейн
Проверьте синтаксис цикла foreach: http://php.net/manual/en/control-structures.foreach.php