Я заметил, что вы используете global
. Некоторые разработчики кричат об использовании global
, когда в этом нет необходимости. Кроме того, вы можете опустить скобки, если напишите false!==
перед объявлением $num
(ничего страшного, просто заметка).
Вариант 1
function get_num() {
static $i=11; // effectively only declare the value once
return (--$i >= 0) ? $i : false;
}
while(false!==$num=get_num()){
echo "Number: $num\n"; // $i is NOT available outside the scope of the function.
}
Вариант 2
function get_num($i) {
return (--$i >= 0) ? $i : false;
}
$num=11; // declare in global scope
while(false!==$num=get_num($num)){ // pass it to function as an argument
echo "Number: $num\n";
}