0

我有这个代码:

<?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 ) 相连。如何计算每个画廊的图像数量?

4

2 回答 2

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
)

那是你想要的吗?

于 2012-11-29T11:07:28.527 回答
-2

把它包起来

我是计数

$i = 0;
foreach ($Contents as $item) {
    $i++;
    $item[number];
}
于 2012-11-29T00:58:01.903 回答