gpt4 book ai didi

php - 在函数 php 中使用 goto

转载 作者:可可西里 更新时间:2023-11-01 12:31:22 25 4
gpt4 key购买 nike

有没有办法为 PHP goto 定义全局标签(类似于变量),以便在函数声明中使用它。我想执行以下操作:

function myFunction() {
if (condition) {
goto someLine;
}
}


someLine:
// ....

myFunction();

当我使用这段代码时,它说

PHP Fatal error:  'goto' to undefined label "someLine"

我知道不推荐使用goto语句。但我需要它。我知道也许总是有 goto 的替代方案,就我而言,它会使代码更容易理解

最佳答案

我认为你不能转到函数之外:http://php.net/manual/en/control-structures.goto.php

直接报价:这不是完全不受限制的转到。目标标签必须在同一文件和上下文中,这意味着您不能跳出函数或方法,也不能跳入其中。

这可能与以下事实有关:php 被解析并且跳出函数会导致内存泄漏或其他原因,因为它从未被正确关闭。同样正如上面其他人所说,你真的不需要 goto 。您可以只从函数返回不同的值并为每个值设置一个条件。 Goto 对于现代编码来说是非常糟糕的做法(如果您使用的是基本编码,则可以接受)。

例子:

function foo(a) {
if (a==1) {
return 1;
} elseif (a==3) {
return 2;
} else {
return 3;
}
}

switch (foo(4)) { //easily replaceable with elseif chain
case 1: echo 'Foo was 1'; break; //These can be functions to other parts of the code
case 2: echo 'Foo was 3'; break;
case 3: echo 'Foo was not 1 or 3';
}

关于php - 在函数 php 中使用 goto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com