Decrement character with php

前端 未结 5 944
盖世英雄少女心
盖世英雄少女心 2021-01-12 01:15

Why is it that it\'s ok to increment character but not decrement with PHP?

PHP



        
相关标签:
5条回答
  • 2021-01-12 01:21

    As chris85 mentioned: "Character variables can be incremented but not decremented"


    PHP supports C-style pre- and post-increment and decrement operators.

    Incrementing/Decrementing Operators

    1. ++$a Pre-increment Increments $a by one, then returns $a.
    2. $a++ Post-increment Returns $a, then increments $a by one.
    3. --$a Pre-decrement Decrements $a by one, then returns $a.
    4. $a-- Post-decrement Returns $a, then decrements $a by one.

    Note: The increment/decrement operators only affect numbers and strings. Arrays, objects and resources are not affected. Decrementing NULL values has no effect too, but incrementing them results in 1.


    SRC: http://php.net/manual/en/language.operators.increment.php

    0 讨论(0)
  • 2021-01-12 01:36

    There is no direct way to decrement alphabets. But with a simple function you can achieve it:

    function decrementLetter($Alphabet) {
        return chr(ord($Alphabet) - 1);
    }
    

    Source, thanks to Ryan O'Hara

    0 讨论(0)
  • 2021-01-12 01:40

    Simple function you can achieve it:

    function decrementChar($Alphabet) {
    return chr(ord($Alphabet) - 1);
    }
    
    0 讨论(0)
  • 2021-01-12 01:45

    Please try with this. Output is a b a.

    $a = "a";
    echo $a. "<br>";  
    echo $next = chr(ord($a) + 1). "<br>";
    echo $prev = chr(ord($next) - 1 ). "<br>"; 
    
    0 讨论(0)
  • 2021-01-12 01:46

    There is no simple way, especially if you start with multi-character strings like 'AA'.

    As far as I can ascertain, the PHP Internals team couldn't decide what to do when

    $x = 'A';
    $x--;
    

    so they simply decided not to bother implementing the character decrementor logic

    0 讨论(0)
提交回复
热议问题