PHP инвертирование добавления контента (сортировки) - PullRequest
2 голосов
/ 03 апреля 2010

У меня есть этот код, который будет включать файл «template.php» внутри каждой из этих папок: «content / templates / id1», «content / templates / id2», «content / templates / id3» и т. Д.

$page_file = basename(__FILE__, ".php");
require("content/" . $page_file . "/content.php");
$iterator = new RecursiveIteratorIterator(
                new RecursiveDirectoryIterator($page_path), 
            RecursiveIteratorIterator::SELF_FIRST);

foreach($iterator as $file) {
    if($file->isDir()) {
        include strtoupper($file . '/template.php');
    }
}

Этот код работает довольно хорошо, проблема в том, что я хочу инвертировать добавление контента, что означает, что я хочу сначала включить «content / templates / id9 / template.php» перед «id8 / template.php» и так далее до первый ..

Как я могу сделать это, изменив код выше?

1 Ответ

2 голосов
/ 03 апреля 2010

Вместо немедленного включения файлов, добавьте их в массив и вызовите array_reverse

$page_file = basename(__FILE__, ".php");
require("content/" . $page_file . "/content.php");

$includes = array();

$iterator = new RecursiveIteratorIterator(
                new RecursiveDirectoryIterator($page_path), 
            RecursiveIteratorIterator::SELF_FIRST);

foreach($iterator as $file) {
    if($file->isDir()) {
        $includes[] = strtoupper($file . '/template.php');
    }
}

$includes = array_reverse($includes);

foreach($includes as $file){
   include $file;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...