php - `return;` 和不返回有什么区别?

标签 php function methods return-value

有区别吗:

function someMethod( $someArg ) {
  // some code
  return;
}

function someMethod( $someArg ) {
  // some code
  // no return
}

两者都有 NULL 作为“返回值”。有区别吗? PHP 内部的东西?表现?速度?

编辑
我问,因为在 Zend 框架 ( in this video ) 中,他们使用 return; 这对我来说似乎(似乎)很愚蠢。但是,您会认为 Zend 框架背后的人确实了解他们的 PHP...

最佳答案

php代码

<?php

function a() {
   echo 1;
   return;
}

function b() {
   echo 2;
}

生成的字节码

.FUNCTION a
        ECHO                     1
        RETURN                   NULL
        RETURN                   NULL
        HANDLE_EXCEPTION         
.END FUNCTION

.FUNCTION b
        ECHO                     2
        RETURN                   NULL
        HANDLE_EXCEPTION         
.END FUNCTION

因此显式 return 语句会生成一个额外的 RETURN 指令。否则没有区别。

关于php - `return;` 和不返回有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6018463/

相关文章:

javascript - TypeScript 类函数作为函数 VS 变量具有更好的性能

java - 方法无法修改输入 int 参数

c++ - 调用基类的构造函数时对 vtable 的 undefined reference

javascript - 如何使用Ajax上传多张图片?

swift - 为多个swift参数设置相同的值

php - Elasticsearch地理位置搜索未返回英里单位的结果

javascript - 如何在 Javascript 函数中使用选项对象

arrays - Ruby——当我调用一个数组的方法时,是否需要将方法中的参数指定为数组的名称?

php - PHP 是如何工作的 - 文献

php - 如何使用 PHP 函数更有效地获取表中多列的排名