Не удалось использовать array_merge внутри класса PHP
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 массива, но он не работает, может быть, кто-то может мне объяснить?
2 ответа
Решение
Вы забыли присвоить полученный массив переменной-члену $data
, Так должно быть,
$this->data = array_merge($data, $this->data);
array_merge
не изменяет переданные ему массивы, а возвращает результат.
Попробуй это:
public function addData($data = array())
{
$this->data = array_merge($data, $this->data);
return $this;
}