Почему эта функция для добавления массива в массив не работает? - PullRequest
1 голос
/ 14 июня 2019

Я создал массив. Затем я сделал вызов функции. Эта функция добавляет другой массив внутри этого массива. Но он возвращает пустой массив, когда я print_r основной массив. Обратите внимание, что причина использования function заключается в том, что я собираюсь вызывать его несколько раз.

PHP:

$myarray = array();
myfunc();
function myfunc() {
    $a = 1;
    $b = "my name";
    $myarray[] = array(
        'a'=>$a,
        'b'=>$b
    );
}
print_r($myarray);

1 Ответ

1 голос
/ 14 июня 2019

На самом деле вам нужно return массив из функции, захватить его в переменную и распечатать эту переменную.

<?php
function myfunc() {
    $myarray[] = array(
        'a'=>1,
        'b'=>"my name"
    );

    return $myarray;
}
$myarray = myfunc();
print_r($myarray);

Вывод: - https://3v4l.org/7vCmC

Или вы можете использовать Передача по ссылке

<?php
$myarray = array();
function myfunc(&$myarray) {
    $myarray[] = array(
        'a'=>1,
        'b'=>"my name"
    );
}
myfunc($myarray);
print_r($myarray);

Вывод: - https://3v4l.org/R9JYL

Примечание: - переменная внутри функции не имеетсвязь с той же переменной вне ее, пока она не будет передана в качестве ссылки [2-й ответ].Это относится к функциональному объему

...