Разрешить вызывать функцию для возврата другого значения

0

Почему этот код не возвращает мне правильный текст?

// My function
function getActivitiesDatas($datas, $got, $to_find) {
    foreach ($datas as $d) {
        if (array_search($got, $d)) {
            if (in_array($to_find, array_keys($d))) {
                return trim($d[$to_find]);
            }
        }
    }
}

// My array
$activitiesList = array(
    array(
        'dbTable'         =>   "Outfitters", 
        'dbPrefix'        =>   "OUT",
        'fullName'        =>   "F_ACTIVITY0001",
        'rewriteName'     =>   $R_ACTIVITY0001,
        'sectionType'     =>   "accommodation",
        'activeSeasons'   =>   "all",
        'weatherDep'      =>   "no"
    )
);

// My function call
$R_ACTIVITY0001 = "outfitters";
echo getActivitiesDatas($activitiesList, "OUT", "rewriteName");

Моя проблема заключается в следующем: когда я вызываю свою функцию $rewriteName, пусто, когда я пытаюсь вернуть параметры rewriteName из моего массива.

Когда в моем массиве я пытаюсь заменить значение $R_ACTIVITY0001 на "R_ACTIVITY0001", он работает.

Зачем?

Благодарю.

Теги:
arrays

2 ответа

0
Лучший ответ

Проблема заключается в порядке, вам нужно инициализировать $ R_ACTIVITY0001 перед инициализацией массива следующим образом:

$R_ACTIVITY0001 = "outfitters";

$activitiesList = array(
    array(
        'dbTable'         =>   "Outfitters", 
        'dbPrefix'        =>   "OUT",
        'fullName'        =>   "F_ACTIVITY0001",
        'rewriteName'     =>   $R_ACTIVITY0001,
        'sectionType'     =>   "accommodation",
        'activeSeasons'   =>   "all",
        'weatherDep'      =>   "no"
    )
);
  • 0
    Благодарю. Ты был первым.
0
$R_ACTIVITY0001 = "outfitters";

$activitiesList = array(
    array(
        'dbTable'         =>   "Outfitters", 
        'dbPrefix'        =>   "OUT",
        'fullName'        =>   "F_ACTIVITY0001",
        'rewriteName'     =>   $R_ACTIVITY0001,
        'sectionType'     =>   "accommodation",
        'activeSeasons'   =>   "all",
        'weatherDep'      =>   "no"
    )
);

Ваша переменная не инициализируется перед вашим массивом

Ещё вопросы

Сообщество Overcoder
Наверх
Меню