$newid = 100;
$cin = 0;
function new_id() {
$cin++;
if ($cin >= 3) {
$cin = 0;
$newid++;
}
return $newid;
}
echo new_id();
new_id() 没有返回任何内容。这是怎么回事?
$newid = 100;
$cin = 0;
function new_id() {
$cin++;
if ($cin >= 3) {
$cin = 0;
$newid++;
}
return $newid;
}
echo new_id();
new_id() 没有返回任何内容。这是怎么回事?
您需要了解变量范围。$newid
并且$cin
不可用,new_id
除非您将它们作为参数传递(或使用邪恶的东西,如global
):
手册中的完美示例:
<?php
$a = 1; /* global scope */
function test()
{
echo $a; /* reference to local scope variable */
}
test();
?>
此脚本不会产生任何输出,因为 echo 语句引用了 $a 变量的本地版本,并且尚未在此范围内为其分配值。
至于你的代码:
$newid = 100;
$cin = 0;
function new_id($newid, $cin) {
$cin++;
if ($cin >= 3) {
$cin = 0;
$newid++;
}
return $newid;
}