今天看到一个面试题,里面涉及到一个很初级的一个问题,如下:
写出一下php段的输出结果:
<?php
$count=5;
function get_count(){
static $count=0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
?>
$count=5;
function get_count(){
static $count=0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
?>
答案为:
501
主要涉及到两个知识点:
1.php变量的作用域;
2.自增/自减变量;
面试人对 “php变量的作用域” 理解挺到位,但在 “自增/自减变量” 上有些把握不准。现复习如下,以供参考:
自增/减分为前置和后置,这涉及到一个先后顺序:
<?php
$a = 3;
echo ++$a; //前置型,先自增再输出,结果为4,此时$a为4
$b = 3;
echo $b++; //后置型,先输出3,再自增为4,此时$b为4
?>
$a = 3;
echo ++$a; //前置型,先自增再输出,结果为4,此时$a为4
$b = 3;
echo $b++; //后置型,先输出3,再自增为4,此时$b为4
?>
自减的原理和自增一样。