我遇到了一些我无法解释的东西,为什么它不会在PHP中引发错误。抱歉,对于某些人来说这很明显,或者以前已经回答过。
这不会引起任何问题,它只是观察和寻求理解。我想知道是否有人知道为什么会这样?我只是很好奇,因为它似乎根本不起作用。我想念什么?
已测试PHP版本:PHP v7.2.12
<?php
class FooBar
{
public function foo()
{
anythingIWantToWrite: // this doesn't throw an error?
return "foo";
}
public function baz()
{
baz: 'foobar'; // this doesn't throw an error?
return "bar";
}
}
$class = new FooBar();
echo $class->foo()."\n";
echo $class->baz();
答案 0 :(得分:6)
因为这是docs,即使您实际上并没有使用它。基本上,您的方法中可以包含一个goto
语句以转到anythingIWantToWrite
或baz
。你只是没有。
<?php
class FooBar
{
public function foo()
{
goto anythingIWantToWrite;
echo 'I am skipped';
anythingIWantToWrite:
return "foo";
}
public function baz()
{
goto baz;
echo 'I am skipped';
baz: 'foobar'; // 'foobar" is string literal that simply does nothing.
return "bar";
}
}
$class = new FooBar();
echo $class->foo()."\n";
echo $class->baz();