В настоящее время я работаю над функцией, которая должна изменять значения pos (int values) массива, как этот:
$comb = array(
'A' => array('pos' => 3, 'lett' => 'C'),
'B' => array('pos' => 4, 'lett' => 'D'),
);
Функция, которая должна выполнять то, что мне нужно, следующая:
function change($comb) {
foreach ($comb as $value) {
if($value['pos']== 1) {
$value['pos'] = 4;
} else {
$value['pos']--;
}
}
}
Я не могу понять, почему во время выполнения кода возникает общая ошибка синтаксического анализа в строке условия if. Я пытался привести $ comb [‘pos’] в int, но это, похоже, не решило проблему.
Любая идея?
Если вы действительно хотите изменить $ comb, вы должны передать его в качестве ссылки ( & войдите в параметры)
function change(&$comb) {
foreach ($comb as $key => $value) {
if($value['pos']== 1) {
$comb[$key]['pos'] = 4;
} else {
$comb[$key]['pos']--;
}
}
}
Других решений пока нет …