Codeigniter 2.1,PHP - 二维数组中请求值的计数数组

时间:2012-11-28 23:25:33

标签: php codeigniter codeigniter-2

我有这段代码:

<?php foreach ($galerije as $gal): ?>
<h1><?php echo str_replace('_', ' ', $gal['naziv']) ?></h1>
<p><?php echo word_limiter($gal['opis'], 30) ?></p>
<?php echo count($slike) ?>
<hr>
<?php endforeach ?>

$ galerija 代表数据库中的所有图库,并将 id_galerija 作为主键。

$ slike 代表数据库中的所有图片,它们与 galerija 有一对多关系(一个图库可以包含许多图片)。它与 galerija_id slike.galerija_id = galerija.id_galerija )相关联。如何计算每个图库的图像数量?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

$galleries = array(array(
    'Galleryname' => 'Picasso',
    'Galleryimages' => array(
        '1.jpg',
        '2.jpg',
        '3.jpg',
        '4.jpg'
        ),
    array(
        '1.jpg',
        '2.jpg'
        ),
    array(
        '1.jpg',
        '2.jpg',
        '3.jpg',
        '4.jpg',
        '5.jpg',
        '6.jpg'
        ),
    ),
array(
    'Galleryname' => 'Matisse',
    'Galleryimages' => array(
        '1.jpg',
        '2.jpg'
        ),
    array(
        '1.jpg',
        '2.jpg',
        '3.jpg'
        ),
    array(
        '1.jpg',
        '2.jpg',
        '3.jpg',
        '4.jpg',
        '5.jpg',
        '6.jpg',
        '7.jpg',
        '8.jpg'
        ),
    )
);

$counts = array();
foreach ($galleries as $key => $value) {
    $counts[$value['Galleryname']] = (count($value, COUNT_RECURSIVE)-count($value)); 
}

echo '<pre>';
print_r($counts);
echo '</pre>';

最终会:

Array
(
    [Picasso] => 12
    [Matisse] => 13
)

这就是你想要的吗?

答案 1 :(得分:-2)

包装

我是伯爵

$i = 0;
foreach ($Contents as $item) {
    $i++;
    $item[number];
}