为什么我没有得到正确的输出。(php)

为什么我没有得到正确的输出。(php),php,Php,如果我设置count='a',count++工作正常。但count——不起作用。 原因是什么。引用 PHP在处理字符变量的算术运算时遵循Perl的约定,而不是C。例如,在PHP和Perl中$a='Z'$a++;将$a转换为'AA',而在C中a='Z';a++;将a转换为“[”(ASCII值“Z”为90,ASCII值“[”为91)。请注意,字符变量可以递增,但不能递减,即使如此,也只支持普通ASCII字母和数字(a-Z、a-Z和0-9)。递增/递减其他字符变量无效,原始字符串不变 (我的重点)试试

如果我设置count='a',count++工作正常。但count——不起作用。 原因是什么。

引用

PHP在处理字符变量的算术运算时遵循Perl的约定,而不是C。例如,在PHP和Perl中$a='Z'$a++;将$a转换为'AA',而在C中a='Z';a++;将a转换为“[”(ASCII值“Z”为90,ASCII值“[”为91)。请注意,字符变量可以递增,但不能递减,即使如此,也只支持普通ASCII字母和数字(a-Z、a-Z和0-9)。递增/递减其他字符变量无效,原始字符串不变

(我的重点)

试试这个:

<?php
$count='a';
for($i=1;$i<=6;$i++)
{
    for($j=1;$j<=(7-$i);$j++)
    {
        echo $count--;      
    }
    echo "<br/>";
    } 
?>
$count='a';

对于($i=1;$iwhy
$count--
。它是一个字符串!您可以使用
++
增加字符数,但不能使用
--
减少字符数,因为PHP核心团队中没有人能够弄清楚当您减少
a
时会发生什么,当您从“a”中减去1时,您希望得到什么答案?
$count='a';
for($i=1;$i<=6;$i++)
{
for($j=1;$j<=(7-$i);$j++)
{
    charMinus($count);
    echo $count;
}
echo "<br/>";
}

function charMinus(&$char) {
    $ascii=ord($char);
    $ascii==97 ? $ascii=123;
    $char=chr($ascii-1);
}