PHP has overloaded ++
for strings; this isn’t the case for --
. You can do the same thing with much cleaner code with chr
, ord
, and array_map
:
function decrementLetter($l) {
return chr(ord($l) - 1);
}
function move_up_left($x) {
if($x['orientation'] === 'down') $arr = &$x[0];
else $arr = &$x[1];
$arr = array_map('decrementLetter', $arr);
return $x;
}
Here’s a demo. Note that you may need to add a special case for decrementing a
– I’m not sure how you want to deal with that.