Почему это нормально, чтобы увеличивать характер, но не уменьшаться с помощью PHP?
PHP
<?php $a = "a"; echo $a. "<br>"; //a echo ++$a. "<br>"; //b echo --$a. "<br>"; //b >
Есть ли простой способ: --$a для уменьшения charrater?
Было решение, используя chr .
Нет прямого пути к уменьшению алфавитов. Но с простой функцией вы можете достичь этого:
function decrementLetter($Alphabet) { return chr(ord($Alphabet) - 1); }
Источник, благодаря Райан О'Хара
Нет простого способа, особенно если вы начинаете с многосимвольных строк, таких как 'AA' .
Насколько я могу судить, команда PHP Internals не могла решить, что делать, когда
$x = 'A'; $x--;
поэтому они просто решили не беспокоиться о реализации логики декремента персонажа
Попробуйте с этим. Выход – aba .
$a = "a"; echo $a. "<br>"; echo $next = chr(ord($a) + 1). "<br>"; echo $prev = chr(ord($next) - 1 ). "<br>";
Как упоминалось в chris85 : « Символьные переменные могут быть увеличены, но не уменьшены »
PHP поддерживает операторы pre-and post-increment и decment для C-стиля.
Операторы приращения / сокращения
++$a Pre-increment Увеличивает $a на единицу, затем возвращает $a . $a++ Post-increment Возвращает $a , а затем увеличивает $a на единицу. --$a Пре декремент Уменьшает $a на единицу, затем возвращает $ a. $a-- Возвращает $a , а затем уменьшает $a на единицу. Примечание. Операторы increment / decment влияют только на числа и строки. Массивы, объекты и ресурсы не затрагиваются. Уменьшение значений
NULLтакже не влияет, но приращение их приводит к 1.
SRC: http://php.net/manual/en/language.operators.increment.php
Простую функцию вы можете достичь:
function decrementChar($Alphabet) { return chr(ord($Alphabet) - 1); }