函数返回" thisarray"而不是实际的数组

时间:2017-02-24 21:37:57

标签: php wordpress

我正在使用Wordpress插件,该插件将使用API​​获取Heros数组并在短代码处显示它们。

我有一个班级

class Hero {
  public  $name,
          $time;
}

和一个功能

function getHeroList() {
  $Hero1 = new Hero;
  $Hero1->name = "Hero 1";
  $Hero1->time = "5";

  $Hero2 = new Hero;
  $Hero2->name = "Hero 2";
  $Hero2->time = "10";

  $HeroList = [$Hero1, $Hero2];
  return $HeroList;
}

现在,当调试返回的infront时,var_dump返回

array(2) { [0]=> object(Hero)#2913 (2) { ["name"]=> string(6) "Hero 1" ["time"]=> string(1) "5" } [1]=> object(Hero)#2914 (2) { ["name"]=> string(6) "Hero 2" ["time"]=> string(2) "10" } }

调试返回的变量时,

$output = this.getHeroList();
    var_dump($output);

它只返回

string(9) "thisArray"
谁能告诉我我的错误? 我不能使用返回类型声明,因为我没有运行php7

2 个答案:

答案 0 :(得分:2)

看看

$output = this.getHeroList();

这不是有效的PHP。如果您的$output = $this->getHeroList();属于某个班级,则必须为getHeroList,否则为getHeroList();

答案 1 :(得分:0)

你打电话给你getHeroList函数应该只是:

$output = getHeroList();
var_dump($output);

我不确定你为什么要这样做.getHeroList()。 $ this-> getHeroList()将是一个类方法,它似乎不在你的例子中。

您应该阅读PHP函数。

http://php.net/manual/en/language.functions.php