включить файл php и работать с массивом

#php

#php

Вопрос:

Я пытаюсь включить разные файлы, каждый из которых содержит исходный код навигации.

 $db->query("SELECT MOD_ID FROM `ACCOUNTS_MODULE` WHERE ACCOUNT_ID='".$_SESSION['ACCOUNT_ID']."' and STATUS='1' and (END_TS<=0 or END_TS>'".date("U")."') ");
while($res = $db->data()){ $user_module_ids[]=$res; }

    foreach($user_module_ids as $key => $element)
{
if(file_exists($vz.'module/'.$element['MOD_ID'].'/lang/'.$_SESSION['lang'].'/'.$_SESSION['lang'].'.inc'))
    { 
      require_once($vz.'module/'.$element['MOD_ID'].'/lang/'.$_SESSION['lang'].'/'.$_SESSION['lang'].'.inc');       
    }
}
  

Содержимое включенных файлов выглядит следующим образом:

 $modul['navigation'][]='<li class="nav-item">
                        <a href="'.$global['serverurl'].'module/1/code/url.php" class="nav-toggle nav-link">
                            <i class="icon-users"></i>
                            <span class="title">'.$lang['mod1'][0].'</span>
                            <span class="selected"></span>
                            <span class="arrow open"></span>
                        </a>                            
                  </li>';    
  

После включения всех файлов я хочу иметь полную навигацию внутри $modul['navigation'] в виде массива.

Я включаю 5 файлов, обычно в массиве должно быть 5 записей!?

Результатом print_r($modul['navigation']) , всегда является только содержимое последнего включенного файла.

Что я делаю не так? Почему он не сохраняет все части в $modul['navigation'] массиве?

Комментарии:

1. Что я делаю не так Я не знаю, в чем проблема??

2. Как я уже писал, в $navigation есть только последняя часть из последнего включаемого файла. Я включаю 5 файлов, обычно в массиве должно быть 5 записей!?

3. Я не вижу никакого способа, которым вы включаете 5 файлов. Если вы покажете полный код, ВОЗМОЖНО, мы сможем помочь. В противном случае мы, вероятно, не сможем. Конечно, мы могли бы сделать несколько предположений , но это непродуктивно

4. извините, я обновил первый исходный код, теперь вы можете видеть, откуда берутся данные, и что функция inlcude включена в часть foreach. Надеюсь, кто-нибудь может сказать мне, в чем моя ошибка в этом коде.

Ответ №1:

Проблема была вне этого скрипта. В другой части while был выбор базы данных, который перезаписывал переменную $ modul, поэтому каждый раз внутри массива оставались только последние данные.

Иногда это легко, когда ты не слепой 😉