@lunsy
СНГшный "программист"

Array_push не работает как надо, почему?

Делаю задачки по ООП PHP по учебнику Трепачёв Д.П.
Нужно добавлять новые элементы в конец массива, делаю через array_push, но он их просто добавлять по порядку ввода
Почему так?
вот код
<?php
		class Arr
	{
		private $numbers = []; // задаем начальное значение свойства как []
		
		// сеттер для ввода элементов
		public function add($num)
		{
			array_push($this->numbers, $num);// array_push не работает как надо((
		}
		
		//геттер на сумму элементов
		public function getSum()
		{
			return array_sum($this->numbers);
		}
		
		
	}
	$arr = new Arr;
	
	$arr->add(3);
	$arr->add(2);
	$arr->add(1);
	
	print_r ($arr);
	echo $arr->getSum(); // выведет 6
?>

Вывод
Arr Object ( [numbers:Arr:private] => Array ( [0] => 3 [1] => 2 [2] => 1 ) ) 6
  • Вопрос задан
  • 311 просмотров
Решения вопроса 1
@alekcena
Нелинейный наставник
Для добавление нового элемента лучше использовать
$array[] = Ваш элемент
https://www.php.net/manual/ru/function.array-push.php
В этом случае вы передаёте циферку. Функция воспринимает её не как значение порядка, а как количественное значение.
3+2+1 = 6
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы