PHP数组中的$a++和++$a为什么结果是一样的

$a++先返值再加
++$a先加再返值;
下面这个程式为什么++a和a++输出的结果是一样的?

<?php
$asd=array(1,2,3);
$arr=count($asd);

for($a=0;$a<$arr;++$a){
echo $asd[$a];
echo"<br>";
}
?>

$a = 1;
echo $a++;//1
echo $a;//2
// echo $a++;等价于echo $a;$a++;

$a = 1;
echo ++$a;//2
echo $a;//2
// echo ++$a;等价于$a++;echo $a;

所谓的先返值, 还是先++是指在一条语句中

追问

可先++a不是先加1么 我那个里面for循环为何不从1开始

追答for ($a = 0; $a < $arr; ++$a) {
....
}
//相当于下面的代码
$a = 0;
while ($a<$arr) {
    .....
    ++$a;
}
// for 里面是用分号分隔的  实际上是三个语句
// 第一个语句是赋初始值
// 第二个是判断是否可以执行循环体
// 第三个是在循环体结束是要执行的内容
// ++$a就是在循环体结束时才会执行到 所以第一次是按0执行的

另外,$a<$arr 一个变量小于一个数组 不太合理 或者是你的命名有点乱

温馨提示:答案为网友推荐,仅供参考
相似回答