在 PHP class 中使用 array_merge 失败

Failed Using array_merge inside of PHP class

class Test
{
  public $data = array();

  public function addData($data = array())
  {
    array_merge($data, $this->data);
    return $this;
  }

  public function showData()
  {
    print_r($this->data);
  }
}
$test = new Test;
$test->addData(array("halo", "zaki"))->showData();

我尝试合并 2 个数组,但它不起作用,也许有人可以向我解释一下?

您忘记将结果数组赋值给成员变量$data。应该是,

$this->data = array_merge($data, $this->data);

array_merge 不会修改传递给它的数组,而是 returns 结果。

试试这个:

public function addData($data = array())
{
    $this->data = array_merge($data, $this->data);
    return $this;
}