在 if 语句中比较 int 值时出现解析错误

Parse error while comparing int values in a if statement

目前我正在研究一个函数,它应该像这样改变数组的 pos 值(int 值):

$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']--;
        }
    }
}