从foreach循环内部的数组中对值进行分组,以防止反复写入相同的代码

时间:2014-01-23 20:37:40

标签: php loops grouping

我从数据库中获取了很多标签,我想将它们放入sepparate组中,以便为每个组执行某些操作,然后为每个标记执行某些操作。

我决定使用PDO.fetchAll()而不是为每个组对数据库进行新查询。然后在if(in_array())循环中设置foreach()以获取每个组的正确数据 - 如下所示:

$qry_tags = $con->query('SELECT id, NO name FROM tags');
$get_tags = $qry_tags->fetchAll();


<!--each group-->
<div class="tags-group">
    <ul>
        <?php foreach($get_tags as $tag): if(in_array($tag['id'],array(1,7,18,23))): ?>
        <!--each tag-->
        <li>
            <label>
                <input type="checkbox" name="tag[]" value="<?=$tag['id']?>" class="submit"> 
                <?=$tag['name']?>
                </label>
        </li>
        <!--//-->
        <?php endif; endforeach; ?>
    </ul>
</div>
<!--//-->

但我想知道是否有办法只编写一个代码块,然后有一些php逻辑来分离它们中的每一个?类似于多级foreach循环。

我称之为“块”,是每个组的模板..

也许通过使用som排序第三个参数来将标签拆分成sepparate组?

0 个答案:

没有答案