В моем приложении 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;
}






Здравствуйте, вам просто нужно передать переменную массива в качестве ссылки в функцию 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;
}
и как вы его используете с codeigniter? пожалуйста, укажите