繁体   English   中英

根据值计算 foreach 中的行数

[英]count rows in foreach based on value

大家好,我在项目表中需要帮助我有一个名为项目的表,我想在 foreach 中使用 php 根据 country_id 列计算项目......可能吗? 但是我使用的是 cakephp 旧版本 1.2...

我试过这段代码:

<table>
    <tr>
        <th>Country </th>
        <th>Country Name</th>
        <th>Number of Place</th>
    </tr>

    <?php 
    $count_country =0;
    $country_count_each=0;
    foreach ($projects as $project){ 
        $country_count_each = $project['Project']['country_id'];
        if($project['Project']['country_id']==$country_count_each){
            $count_country+=$country_count_each;
    
?>
    <tr>
        <td style="width: 30%"><?php echo $project['Project']['country_id']; ?></td>
        <td style="width: 30%"><?php echo 'Country Name'.$tt; ?></td>
        <td style="width: 30%"><?php echo $count_country; ?></td>
    </tr>
<?php 
        } 
    }
    ?>

</table>

项目表

您需要遍历整个数组并首先获取所有计数。 您可以将它们放入关联数组中:

$country_counts = [];
foreach ($projects as $project) {
    $country = $project['Project']['country_id'];
    if (isset($country_counts[$country])) {
        $country_counts[$country]++;
    } else {
        $country_counts[$country] = 1;
    }
}

?>
<table>
    <tr>
        <th>Country </th>
        <th>Country Name</th>
        <th>Number of Place</th>
    </tr>

    <?php 
    foreach ($projects as $project) {
    ?>
        <tr>
            <td style="width: 30%"><?php echo $project['Project']['country_id']; ?></td>
            <td style="width: 30%"><?php echo 'Country Name'.$tt; ?></td>
            <td style="width: 30%"><?php echo $country_counts[$project['Project']['country_id']]; ?></td>
        </tr>  
    <?php 
    } 
?>

</table>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM