<?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 ++正常工作。但是数 - 不起作用。 是什么原因。
答案 0 :(得分:1)
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);
}