<?php
$a = array("ABC","DEF");
foreach($a as &$b){
$b++;
echo $b . "<br />";
}
?>
任何机构都可以解释为什么上面的代码片段会生成以下输出吗?
输出:
ABD
DEG
提前致谢
答案 0 :(得分:1)
如果对字符串使用++
,则“计数”:使用字母表中的下一个字符。删除$b++;
,输出将为“ABC DEF”
提示:
如果您致电$a[0][1]
,则会返回“B”。
答案 1 :(得分:1)
PHP在处理字符变量而不是C的算术运算时遵循Perl的约定。例如,在Perl'Z'+ 1变成'AA',而在C'Z'+ 1变成'['(ord('Z')== 90,ord('[')== 91) 。请注意,字符变量可以递增但不递减,即使只支持纯ASCII字符(a-z和A-Z)。
如果你的意思是为什么$ b已经改变了:
你在foreach循环中传递对$ b的引用,所以在引用$ b而不是$ b代表的值时完成赋值,增加等。