Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我创建了一个不返回任何内容的函数?_Php - Fatal编程技术网

Php 我创建了一个不返回任何内容的函数?

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

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;
}