Как я могу вставить новый элемент в массив, который является результатом метода?

Вот мой код:

$this->results['twitter'] = array_push($this->twitter($request),"active");

Это бросает:

Только переменные должны быть переданы по ссылке

Что не так и как я могу это исправить?

0

Решение

Обратите внимание, что array_push возвращает целое число, представляющее количество элементов массива после добавления. Ты можешь использовать array_merge вместо:

$this->results['twitter'] = array_merge($this->twitter($request), ['active']);
1

Другие решения

1-й: сохранить результат в переменной, затем нажать

$new_array = $this->twitter($request);
$this->results['twitter'] = array_push($new_array,"active");

Замечания : да, вы не можете передать возвращаемый результат в качестве параметра. поэтому вам нужно сохранить его в переменной и передать в качестве параметра. Вы можете передать переменную по ссылке на функцию, чтобы функция могла изменить переменную

1

Может быть, вы хотите что-то вроде этого:

array_push($this->results['twitter'], $this->twitter());

Это подтолкнет возврат функции twitter () в ваш массив.
Помните, что array_push возвращает только количество содержащихся элементов.

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector