Php 我创建了一个不返回任何内容的函数?
new_id()未返回任何内容。发生了什么事?你需要了解Php 我创建了一个不返回任何内容的函数?,php,Php,new_id()未返回任何内容。发生了什么事?你需要了解$newid和$cin不可用于new\u id,除非您将它们作为参数传递(或使用诸如global之类的邪恶东西): 手册中的完美示例: $newid = 100; $cin = 0; function new_id() { $cin++; if ($cin >= 3) { $cin = 0; $newid++; } return $newid; } echo new_id
$newid
和$cin
不可用于new\u id
,除非您将它们作为参数传递(或使用诸如global
之类的邪恶东西):
手册中的完美示例:
$newid = 100;
$cin = 0;
function new_id() {
$cin++;
if ($cin >= 3) {
$cin = 0;
$newid++;
}
return $newid;
}
echo new_id();
你观察到的效果与范围有关@马里奥显然没有收到错误信息。虽然这可能只是因为配置不同。回答得好。这是一个糟糕的做法,但它让我想起了在函数中必须使用全局关键字才能看到外部变量的情况。
<?php
$a = 1; /* global scope */
function test()
{
echo $a; /* reference to local scope variable */
}
test();
?>
$newid = 100;
$cin = 0;
function new_id($newid, $cin) {
$cin++;
if ($cin >= 3) {
$cin = 0;
$newid++;
}
return $newid;
}