Изучаю вывод методов по цепочке по учебнику Трепачёв Д.П.
Облазил весь гугл, и не понимаю как в классе в методе за раз добавить несколько элементов в массив
Дана такая задача
Добавьте в класс Arr еще один метод append, который параметром будет принимать массив чисел и добавлять эти числа в конец массива, хранящегося в объекте.
<?php
echo (new Arr)->add(1)->append([2, 3, 4])->add(5)->getSum();
?>
Это мой код
класс Arr для объекта
<?php
class Arr
{
private $numbers = []; // массив чисел
// Добавляем число в массив:
public function add($number)
{
$this->numbers[] = $number;
return $this; // вернем ссылку сами на себя
}
// пробовал так 1 вариант
append($nums)
// и так 2 вариант
// append($nums, $nums1, $nums2)
{
// 1 вариант
array_push($this->numbers[], $nums);
// 2 вариант
// $this->numbers[] = [$nums, $nums1, $nums2];
}
// Находим сумму чисел:
public function getSum()
{
return array_sum($this->numbers);
}
}
$arr = new Arr;
$arr->append(2, 3, 4); // добавляем в массив числа
print_r (new $arr);
?>
вывод
Arr Object ( [numbers:Arr:private] => Array ( ) [numbers1:Arr:private] => Array ( ) )
append выводит ноль