首页 > 解决方案 > 如何从类函数返回数组

问题描述

我想从函数返回一个数组,但它什么也不返回。如果我声明任何返回罚款但我需要返回的字符串。

class someclasss {

  function somefunction {

    $arr = array();

    if(condition){
      array_push($arr, array("name"=>"john"));
      return $arr;
    }

  }

}

我也尝试返回一个简单的数组,但这也没有用!

任何人都可以帮助知道如何从函数返回数组吗?

标签: phpfunctionclassoop

解决方案


您当前的代码有两个问题:

  1. 它不返回包含数组的变量。它正在返回 array_push() 函数的结果,这可能不是您想要的。
  2. 只有在条件内才调用return。如果条件没有触发,则不会遇到 return 语句。这基本上等同于return null;如果条件没有触发。

您可能想要更多类似的东西:

function somefunction {
  $arr = array();
  if(condition){
    array_push($arr, array("name"=>"john"));
  }
  return $arr;
}

可以简写为:

function somefunction {
  return condition ? ['name' => 'john'] : [];
}

推荐阅读