Php 创建分栏符会再添加一列,即使它不应该这样做

Php 创建分栏符会再添加一列,即使它不应该这样做,php,Php,在上面的代码中,我实际上正在尝试在每10个国家名称之后创建一个新列。它工作得很好,但它似乎添加了一个额外的空白列,正如您在图像中看到的那样。这是怎么发生的?我该如何纠正 当国家/地区计数为10的倍数时,即使没有更多的国家/地区,也会创建下一个div 试试这个:如果不是最后一个div,只创建另一个div <?php $countries = array ( "US" => "United States Of America", "GB" => "United K

在上面的代码中,我实际上正在尝试在每10个国家名称之后创建一个新列。它工作得很好,但它似乎添加了一个额外的空白列,正如您在图像中看到的那样。这是怎么发生的?我该如何纠正


当国家/地区计数为10的倍数时,即使没有更多的国家/地区,也会创建下一个div

试试这个:如果不是最后一个div,只创建另一个div

<?php

$countries = array (
    "US" => "United States Of America",
    "GB" => "United Kingdom",
    "CA" => "Canada",
    "AU" => "Australia",
    "AT" => "Austria",
    "BE" => "Belgium",
    "CN" => "China",
    "DK" => "Denmark",
    "EE" => "Estonia",
    "FI" => "Finland",
    "FR" => "France",
    "DE" => "Germany",
    "HK" => "Hong Kong",
    "HU" => "Hungary",
    "IS" => "Iceland",
    "IN" => "India",
    "ID" => "Indonesia",
    "IE" => "Ireland",
    "IT" => "Italy",
    "JP" => "Japan",
    "KR" => "Republic of Korea",
    "KW" => "Kuwait",
    "LV" => "Latvia",
    "LU" => "Luxembourg",
    "MY" => "Malaysia",
    "MV" => "Maldives",
    "MU" => "Mauritius",
    "MX" => "Mexico",
    "MC" => "Monaco",
    "NL" => "Netherlands",
    "NZ" => "New Zealand",
    "NO" => "Norway",
    "OM" => "Oman",
    "PH" => "Philippines",
    "PL" => "Poland",
    "PT" => "Portugal",
    "PR" => "Puerto Rico",
    "QA" => "Qatar",
    "RU" => "Russia",
    "RS" => "Serbia",
    "SG" => "Singapore",
    "ZA" => "South Africa",
    "ES" => "Spain",
    "LK" => "Sri Lanka",
    "SE" => "Sweden",
    "CH" => "Switzerland",
    "TW" => "Taiwan",
    "TH" => "Thailand",
    "AE" => "United Arab Emirates",
    "VN" => "Vietnam"
);

$i = 1;

    $locale ='<div class="section" style="clear:both;">';
    $locale .= '<div class="grid" style="width:100px; display:inline-block;">';

        foreach($countries as $code => $name) {
            if($i % 10 == 0) {

                $locale .= '<span class="item" locale="'.$code.'"><img src="/site/world/'.strtolower($code).'.png">'.$name.'</span>';
                $locale .= '</div>';
                $locale .= '<div class="grid" style="width:100px; display:inline-block;">';

            } else {
                $locale .= '<span class="item" locale="'.$code.'"><img src="/site/world/'.strtolower($code).'.png">'.$name.'</span>';
            }
            $i++;
        }

    $locale .='</div>';
    $locale .='</div>';

    echo $locale;
?>

如果($i当国家计数为10的倍数时,即使没有更多的国家,也会创建下一个div

试试这个:如果不是最后一个div,只创建另一个div

<?php

$countries = array (
    "US" => "United States Of America",
    "GB" => "United Kingdom",
    "CA" => "Canada",
    "AU" => "Australia",
    "AT" => "Austria",
    "BE" => "Belgium",
    "CN" => "China",
    "DK" => "Denmark",
    "EE" => "Estonia",
    "FI" => "Finland",
    "FR" => "France",
    "DE" => "Germany",
    "HK" => "Hong Kong",
    "HU" => "Hungary",
    "IS" => "Iceland",
    "IN" => "India",
    "ID" => "Indonesia",
    "IE" => "Ireland",
    "IT" => "Italy",
    "JP" => "Japan",
    "KR" => "Republic of Korea",
    "KW" => "Kuwait",
    "LV" => "Latvia",
    "LU" => "Luxembourg",
    "MY" => "Malaysia",
    "MV" => "Maldives",
    "MU" => "Mauritius",
    "MX" => "Mexico",
    "MC" => "Monaco",
    "NL" => "Netherlands",
    "NZ" => "New Zealand",
    "NO" => "Norway",
    "OM" => "Oman",
    "PH" => "Philippines",
    "PL" => "Poland",
    "PT" => "Portugal",
    "PR" => "Puerto Rico",
    "QA" => "Qatar",
    "RU" => "Russia",
    "RS" => "Serbia",
    "SG" => "Singapore",
    "ZA" => "South Africa",
    "ES" => "Spain",
    "LK" => "Sri Lanka",
    "SE" => "Sweden",
    "CH" => "Switzerland",
    "TW" => "Taiwan",
    "TH" => "Thailand",
    "AE" => "United Arab Emirates",
    "VN" => "Vietnam"
);

$i = 1;

    $locale ='<div class="section" style="clear:both;">';
    $locale .= '<div class="grid" style="width:100px; display:inline-block;">';

        foreach($countries as $code => $name) {
            if($i % 10 == 0) {

                $locale .= '<span class="item" locale="'.$code.'"><img src="/site/world/'.strtolower($code).'.png">'.$name.'</span>';
                $locale .= '</div>';
                $locale .= '<div class="grid" style="width:100px; display:inline-block;">';

            } else {
                $locale .= '<span class="item" locale="'.$code.'"><img src="/site/world/'.strtolower($code).'.png">'.$name.'</span>';
            }
            $i++;
        }

    $locale .='</div>';
    $locale .='</div>';

    echo $locale;
?>
如果($i请尝试此解决方案

if ($i<count($countries)){
    $locale .= '</div>';
    $locale .= '<div class="grid" style="width:100px; display:inline-block;">';
}

试试这个解决方案

if ($i<count($countries)){
    $locale .= '</div>';
    $locale .= '<div class="grid" style="width:100px; display:inline-block;">';
}

从0开始$i,使用此方法可以避免一些代码重复

<?php

   $countries = array (
    "US" => "United States Of America",
    "GB" => "United Kingdom",
    "CA" => "Canada",
    "AU" => "Australia",
    "AT" => "Austria",
    "BE" => "Belgium",
    "CN" => "China",
    "DK" => "Denmark",
    "EE" => "Estonia",
    "FI" => "Finland",
    "FR" => "France",
    "DE" => "Germany",
    "HK" => "Hong Kong",
    "HU" => "Hungary",
    "IS" => "Iceland",
    "IN" => "India",
    "ID" => "Indonesia",
    "IE" => "Ireland",
    "IT" => "Italy",
    "JP" => "Japan",
    "KR" => "Republic of Korea",
    "KW" => "Kuwait",
    "LV" => "Latvia",
    "LU" => "Luxembourg",
    "MY" => "Malaysia",
    "MV" => "Maldives",
    "MU" => "Mauritius",
    "MX" => "Mexico",
    "MC" => "Monaco",
    "NL" => "Netherlands",
    "NZ" => "New Zealand",
    "NO" => "Norway",
    "OM" => "Oman",
    "PH" => "Philippines",
    "PL" => "Poland",
    "PT" => "Portugal",
    "PR" => "Puerto Rico",
    "QA" => "Qatar",
    "RU" => "Russia",
    "RS" => "Serbia",
    "SG" => "Singapore",
    "ZA" => "South Africa",
    "ES" => "Spain",
    "LK" => "Sri Lanka",
    "SE" => "Sweden",
    "CH" => "Switzerland",
    "TW" => "Taiwan",
    "TH" => "Thailand",
    "AE" => "United Arab Emirates",
    "VN" => "Vietnam"
   );

   $i = 1;
   $c = count($countries);
    $locale ='<div class="section" style="clear:both;">';
    $locale .= '<div class="grid" style="width:100px; display:inline-block;">';

        foreach($countries as $code => $name) {
            if($i % 10 == 0 && $i != $c) {

                $locale .= '<span class="item" locale="'.$code.'"><img src="/site/world/'.strtolower($code).'.png">'.$name.'</span>';
                $locale .= '</div>';
                $locale .= '<div class="grid" style="width:100px; display:inline-block;">';

            } else {
                $locale .= '<span class="item" locale="'.$code.'"><img src="/site/world/'.strtolower($code).'.png">'.$name.'</span>';
            }
            $i++;
        }

    $locale .='</div>';
    $locale .='</div>';

    echo $locale;
?>
$i=0;
$locale='';
foreach($code=>$name的国家){
如果($i%10==0){
$locale.='';
}
$locale.=''.$name';
如果($i%10==9){
$locale.='';
}
$i++;
}
$locale.='';

从0开始$i,使用此方法可以避免一些代码重复

<?php

   $countries = array (
    "US" => "United States Of America",
    "GB" => "United Kingdom",
    "CA" => "Canada",
    "AU" => "Australia",
    "AT" => "Austria",
    "BE" => "Belgium",
    "CN" => "China",
    "DK" => "Denmark",
    "EE" => "Estonia",
    "FI" => "Finland",
    "FR" => "France",
    "DE" => "Germany",
    "HK" => "Hong Kong",
    "HU" => "Hungary",
    "IS" => "Iceland",
    "IN" => "India",
    "ID" => "Indonesia",
    "IE" => "Ireland",
    "IT" => "Italy",
    "JP" => "Japan",
    "KR" => "Republic of Korea",
    "KW" => "Kuwait",
    "LV" => "Latvia",
    "LU" => "Luxembourg",
    "MY" => "Malaysia",
    "MV" => "Maldives",
    "MU" => "Mauritius",
    "MX" => "Mexico",
    "MC" => "Monaco",
    "NL" => "Netherlands",
    "NZ" => "New Zealand",
    "NO" => "Norway",
    "OM" => "Oman",
    "PH" => "Philippines",
    "PL" => "Poland",
    "PT" => "Portugal",
    "PR" => "Puerto Rico",
    "QA" => "Qatar",
    "RU" => "Russia",
    "RS" => "Serbia",
    "SG" => "Singapore",
    "ZA" => "South Africa",
    "ES" => "Spain",
    "LK" => "Sri Lanka",
    "SE" => "Sweden",
    "CH" => "Switzerland",
    "TW" => "Taiwan",
    "TH" => "Thailand",
    "AE" => "United Arab Emirates",
    "VN" => "Vietnam"
   );

   $i = 1;
   $c = count($countries);
    $locale ='<div class="section" style="clear:both;">';
    $locale .= '<div class="grid" style="width:100px; display:inline-block;">';

        foreach($countries as $code => $name) {
            if($i % 10 == 0 && $i != $c) {

                $locale .= '<span class="item" locale="'.$code.'"><img src="/site/world/'.strtolower($code).'.png">'.$name.'</span>';
                $locale .= '</div>';
                $locale .= '<div class="grid" style="width:100px; display:inline-block;">';

            } else {
                $locale .= '<span class="item" locale="'.$code.'"><img src="/site/world/'.strtolower($code).'.png">'.$name.'</span>';
            }
            $i++;
        }

    $locale .='</div>';
    $locale .='</div>';

    echo $locale;
?>
$i=0;
$locale='';
foreach($code=>$name的国家){
如果($i%10==0){
$locale.='';
}
$locale.=''.$name';
如果($i%10==9){
$locale.='';
}
$i++;
}
$locale.='';