-1

php foreach をグループ化するにはどうすればよいですか?既に 5 日間試しましたが、まだ動作しません。php foreach の仕組みはわかりませんが、学習しています。皆さんのアドバイスのおかげで

元のphp:

<?php if(isset($this->leading) && count($this->leading)): ?>
        <?php foreach($this->leading as $key=>$item): ?>
            <?php

                $this->item=$item;
                echo $this->loadTemplate('item');
            ?>
        <?php endforeach; ?>
    <?php endif; ?>


    <?php if(isset($this->primary) && count($this->primary)): ?>
        <?php foreach($this->primary as $key=>$item): ?>
            <?php

                $this->item=$item;
                echo $this->loadTemplate('item');
            ?>
        <?php endforeach; ?>
    <?php endif; ?>


    <?php if(isset($this->secondary) && count($this->secondary)): ?>
        <?php foreach($this->secondary as $key=>$item): ?>          
            <?php

                $this->item=$item;
                echo $this->loadTemplate('item');
            ?>
        <?php endforeach; ?>
    <?php endif; ?>

私は試した

<?php if(isset($this->leading) && count($this->leading)) && (isset($this->primary) && count($this->primary)) && (isset($this->secondary) && count($this->secondary)): ?>
    <!-- Leading items -->
        <?php foreach (array($this->leading, $this->primary, $this->secondary) as $key=>$item)          ($this->leading as $key=>$item): ?>
            <?php
                // Load category_item.php by default
                $this->item=$item;
                echo $this->loadTemplate('item');
            ?>
        <?php endforeach; ?>
    <?php endif; ?>

しかし、動作しません

いつものように、あなたの支援に感謝します!

みんな、ありがとう:)

ありがとう、スティーブン!

4

3 に答える 3

1

このようなことを意味しますか..?

<?php

$arr = array();
$arr[] = $this->leading;
$arr[] = $this->primary;
$arr[] = $this->secondary;

foreach($arr as $v) {    
    if(is_array($v) && (count($v) > 0)) {
        foreach($v as $item) {
            $this->item=$item;
            echo $this->loadTemplate('item');
        }
    }
}

?>
于 2013-07-08T09:54:19.480 に答える
0

次のような関数を定義します。

function foobar ($tmp) {
    if(isset($tmp) && count($tmp)) { 
        foreach ($tmp as $key => $item) {
            // Load category_item.php by default
            $this->item = $item;
            echo $this->loadTemplate('item');
        }
    }   
}

そしてあなたのデータでそれを呼び出します:

foobar($this->leading);
foobar($this->primary);
foobar($this->secondary);
于 2013-07-08T09:55:30.933 に答える