Disminuyendo los valores alfabéticos

Estoy tratando de averiguar cómo cambiar un grupo de valores de letras en una matriz hacia abajo un paso. Por ejemplo, mi matriz contiene valores ("d", "e", "f", "g", "h") y quiero cambiar esto a ("c", "d", "e", "f "," g "). Aquí está el código con el que estoy trabajando:

function move_up_left($x) {
    if($x['orientation'] == "down") {
        foreach($x[0] as &$value) {
            $value = --$value; 
        }
    } else {
        foreach($x[1] as &$value) {
            $value = --$value;
        }
    }

    return $x;
}

Cuando uso valores positivos, las letras cambian; sin embargo, los números negativos no parecen funcionar en absoluto.

Respuestas a la pregunta(3)

Su respuesta a la pregunta