Foreach正在跳过最后一行的所有行

Nic*_*ine -1 php arrays foreach

我有这个小脚本,我为自己的乐趣创建.(不要问它的用途是什么)

ini_set('memory_limit','1024M');
include("PostalCodeAr.php");
$MultiDimensionAr['K'][0]['A'][1]['M'][0] = "ON";
echo count($PostalCodeArray)."\n";
foreach($PostalCodeArray as $Postal => $Code);
{
    echo $Postal."\n";
    $Postal = strtoupper($Postal);
    $MultiDimensionAr[$Postal{0}][$Postal{1}][$Postal{2}][$Postal{3}][$Postal{4}][$Postal{5}] = $Code;
}
Run Code Online (Sandbox Code Playgroud)

在PostalCodeAr.php文件中有一个非常大的数组,包含所有邮政编码,它是省代码.

从这一切得到的输出是

916760
t1s0k6
Run Code Online (Sandbox Code Playgroud)

t1s0k6是postalCodeAr.php文件中数组的最后一个

所以从技术上来说,如果函数count()正确地输出正确的行数,为什么foreach没有通过它们全部运行?

mon*_*ell 7

在foreach之后它不应该是分号.

foreach多次执行一个块或一个语句.分号给它一个空语句,并且该块被简单地忽略.由于性质或phps foreach,即使在最后一次迭代之后,迭代变量仍然在范围内,因此这就是回显一行的原因.