kon-rafikov
@kon-rafikov
Не забывайте отмечать решение

Как сделать перебор массива в нескольких инклудах?

У клиента есть посты в блоге в виде инклудов, которые подключаются так:
foreach (glob('items/*.inc.php') as $filename) {
                    if (file_exists($filename)) {
                        $isPreview = 1;
                        include $filename;
                    } else {
                        echo 'Ничего нет';
                    }
                }


В кажом файле есть массив с тэгами примерно с таким содержимым:
<? $tags = ['значение1','значение2','значение3','значение4','значение5']; ?>


1) Как мне вывести инклуды, у которых в массиве tags есть значение "значение1"?

2) Насколько такой подход кривой?
Надо бы наверное все перенести в базу и делать выборку.
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
В подключаемом файле делайте обычный ретюрн, который возвращает массив.
Подключаемый файл записывайте в переменную.

Например

$vars = include ('/path/to/yourfile');

yourfile:
<?php
  return [...]
?>


А потом $vars перебирайте так, как нужно.

Кривизна относительная, если к примеру так хранить конфиги/настройки, то удобно, но вот выборку лучше конечно в БД заносить.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы