10
将goto用于这些明显且相关的情况下,它有什么不好?
我一直都知道那goto是不好的事情,被锁在一个地下室,永远不会永远变好,但是今天我遇到了一个代码示例,使用起来很合理goto。 我有一个IP,需要检查它是否在IP列表中,然后继续执行代码,否则引发异常。 <?php $ip = '192.168.1.5'; $ips = [ '192.168.1.3', '192.168.1.4', '192.168.1.5', ]; foreach ($ips as $i) { if ($ip === $i) { goto allowed; } } throw new Exception('Not allowed'); allowed: ... 如果我不使用,goto那么我必须使用一些变量,例如 $allowed = false; foreach ($ips as $i) { if ($ip === $i) { $allowed = true; …