Я использую статическую переменную в php. В идеале это должно отображать от 1 до 10.
Но это не так. Почему это так ?
test(10);
function test($a)
{
static $count = 0;
$count++;
echo $count;
if ($count < $a) {
echo 'in if ' . $count;
test($count);
}
}
В вашем if неверная переменная. Если вы отладите его, вы увидите, что функция срабатывает только дважды вместо 10.
менять
if ($count < $a) {
echo 'in if ' . $count;
test($count);
}
в
if ($count < $a) {
echo 'in if ' . $count;
test($a);
}
Используйте это, если вы хотите напечатать от 1 до 10
function test($a)
{
static $count = 0;
$count++;
echo $count."====".$a;
if ($count < $a) {
echo 'in if ' . $count;
test($a);
}
}