Decrementando valores alfabéticos

Eu estou tentando descobrir como deslocar um monte de valores de letra em uma matriz em um passo. Por exemplo, minha matriz contém valores ("d", "e", "f", "g", "h") e eu quero mudar isso para ("c", "d", "e", "f "," g "). Aqui está o código com o qual estou trabalhando:

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;
}

Quando eu uso valores positivos, as letras mudam; no entanto, os números negativos parecem não estar funcionando.

questionAnswers(3)

yourAnswerToTheQuestion