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

时间:2014-09-06 15:50:30

标签: php

<?php
$count='a';
for($i=1;$i<=6;$i++)
{
    for($j=1;$j<=(7-$i);$j++)
    {
        echo $count--;      
    }
    echo "<br/>";
    } 
?>
如果我设置count =&#39; a&#39;

count ++正常工作。但是数 - 不起作用。 是什么原因。

2 个答案:

答案 0 :(得分:1)

friendly manual

引用
  

PHP在处理字符变量而不是C的算术运算时遵循Perl的约定。例如,在PHP和Perl $ a =&#39; Z&#39 ;; $ A ++;将$ a变成'AA&#39;,而在C a =&#39; Z&#39 ;;一个++;变成了&#39; [&#39; (ASCII值为&#39; Z&#39;为90,ASCII值为&#39; [&#39;为91)。 请注意,字符变量可以递增但不递减,即使如此,也只支持纯ASCII字母和数字(a-z,A-Z和0-9)。递增/递减其他字符变量无效,原始字符串不变。

(我的重点)

答案 1 :(得分:0)

试试这个:

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