function collect_directories_and_files($path) { # Retrieve directories and files inside the given path. # Also, `scandir()` already sorts the directory entries. $entries = scandir($path); return array_partition($entries, function ($entry) { return is_dir($entry); }); }
/** * @test */ public function it_tests_array_partition() { $this->assertEquals([[1, 3, 5], [2, 4, 6]], array_partition([1, 2, 3, 4, 5, 6], function ($a) { return $a % 2 === 1; })); list($odd, $even) = array_partition([1, 2, 3, 4, 5, 6], function ($a) { return $a % 2 === 1; }); $this->assertEquals([$odd, $even], [[1, 3, 5], [2, 4, 6]]); $this->assertEquals([[], []], array_partition([], function ($e) { return $e % 2 === 0; })); }
<?php $regraBiblia = new Biblia(); $versao = $regraBiblia->pegarVersao(); ?> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="icon icon-book"></i> Novo Testamento</h3> </div> <div class="panel-body"> <div class="row"> <?php $livros = $regraBiblia->listarLivro(NOVO_TESTAMENTO); ?> <?php $colunas = array_partition($livros, 3); ?> <?php foreach ($colunas as $coluna) { ?> <div class="col-md-4"> <ul style="font-size: 120%"> <?php foreach ($coluna as $id => $livro) { ?> <li><a href="<?php echo "/{$versao}/nt/{$livro->id_livro}"; ?> "><?php echo $livro->nome; ?>