Элементы не добавляются в массив динамически в рекурсии

В моем приложении CodeIgniter я определил массив в функции (скажем, function-A), и я динамически добавляю некоторые значения в этот массив внутри function-A.

Я вызываю другую функцию (скажем, функцию-B) из функции-A, и эта функция-B рекурсивно добавляет некоторые значения в исходный массив, определенный внутри функции-A. Но проблема в том, что когда я наконец распечатываю массив, он содержит только значения, добавленные внутри функции-A.

Итак, скажите, почему элементы не помещаются в массив внутри функции-B?

Код:

function A() {
    $ChnCat_tags = array();

    //some code

    $ChnCat_tags[] = array(
        'level' => $level,
        'value' => $row_vct->id_vct,
        'label' => $row_vct->displayname_vct,
        'disable' => $disb
    );

    recursion_result = function-B($ChnCat_tags);

    print_r($ChnCat_tags); //only prints values added in function-A
}


function B($ChnCat_tags) {

    //some code

    $ChnCat_tags[] = array(
        'level' => $level,
        'value' => $row_vct->id_vct,
        'label' => $row_vct->displayname_vct,
        'disable' => $disb
    );

    recursion_result = function-B($ChnCat_tags);

    return recursion_result;
}

и как вы его используете с codeigniter? пожалуйста, укажите

Pradeep 18.05.2018 13:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
1
34
1

Ответы 1

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

function A() {
$ChnCat_tags = array();

//some code

$ChnCat_tags[] = array(
    'level' => $level,
    'value' => $row_vct->id_vct,
    'label' => $row_vct->displayname_vct,
    'disable' => $disb
);

recursion_result = function-B(&$ChnCat_tags);

print_r($ChnCat_tags); //only prints values added in function-A

}

function B($ChnCat_tags) {

//some code

$ChnCat_tags[] = array(
    'level' => $level,
    'value' => $row_vct->id_vct,
    'label' => $row_vct->displayname_vct,
    'disable' => $disb
);

recursion_result = function-B($ChnCat_tags);

return recursion_result;
}

Другие вопросы по теме