PHP如何翻译我们的代码?
我有这个密码 `PHP如何翻译我们的代码?,php,Php,我有这个密码 ` // //打印出“你好,世界!” // 你好//第一个电话 函数hello_world() { 回声“你好,世界!\n”; } 你好//第二次呼叫 ?>` 两个“hello_world”调用将打印出相同的结果。很容易理解为什么第二个调用将输出为“Hello world”,但是第一个调用如何输出与函数Hello_world本身启动之前调用的相同的内容?PHP文件将被解析,然后在两个单独的步骤中运行。在调用函数之前先对其进行解析,这样就不需要进行前向声明/原型设计。PHP函数可以
//
//打印出“你好,世界!”
//
你好//第一个电话
函数hello_world()
{
回声“你好,世界!
\n”;
}
你好//第二次呼叫
?>`
两个“hello_world”调用将打印出相同的结果。很容易理解为什么第二个调用将输出为“Hello world”,但是第一个调用如何输出与函数Hello_world本身启动之前调用的相同的内容?PHP文件将被解析,然后在两个单独的步骤中运行。在调用函数之前先对其进行解析,这样就不需要进行前向声明/原型设计。PHP函数可以在定义之前进行调用,因为它是解析然后执行的。函数在调用之前进行评估。由于函数位于同一个文件中,因此两个函数调用都是有效的,并且都指向您定义的函数 如果您在另一个函数中定义了一个函数,或者将它们封装在条件语句中,则会有例外,但您提供的代码最为有效
更多信息:是的,但是你不能在
if
语句中包装函数声明吗?@Earlz:是的,我读过这篇文章。这是关于函数内部的函数声明,不是吗?@Earlz:PHP尝试先解析,然后运行,但是当它看到类似于if
语句的函数时,它被迫将解析函数的过程留待以后,并动态处理。您会注意到,
就是因为这个原因而失败的;通常情况下,它会在评估之前尝试解析所有内容。
//
// prints out "Hello World!"
//
hello_world(); //First call
function hello_world()
{
echo "Hello World!<br/>\n";
}
hello_world(); //second call
?>`