我有这个我为自己的乐趣创建的小脚本。 (不要问它的目的是什么)
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;
}
在PostalCodeAr.php文件中有一个非常大的数组,包含所有邮政编码,它' 省代码。
从这一切中得到的输出是
916760
t1s0k6
t1s0k6是postalCodeAr.php文件中数组的最后一个
从技术上来说,如果函数count()正确输出正确的行数,为什么foreach没有通过它们全部运行?
答案 0 :(得分:7)
在foreach之后它不应该是分号。
foreach多次执行一个块或一个语句。 分号给它一个空语句和块 简直被忽略了。由于性质或phps foreach 即使在之后,迭代变量仍然在范围内 最后一次迭代,这就是回显一行的原因。