我有超过 7mb 的文件,其中包含我输入的数字和下面的数组:
$allbarcodes = array(3117148100,3117148110,3117148120,3117148130,3118011010,3118011020,3118011060,3118011070,3118011080,3118011090,3118011100,3118011110,3118011120,3118011130,3118012010,3118012020,3118012060,3118012070,3118012080,3118012090,3118012100,3118012110,3118012120,3118012130,3118654010,3118654020,3118654060,3118654070,3118654080,3118654090,3118654100,3118654110,3118654120,3118654130,3118797010,3118797020,3118797060,3118797070,3118797080,3118797090,3118797100,3118797110,3118797120,3118797130,3118846010,3118846020,3118846060,3118846070,3118846080,3118846090,3118846100,3118846110,3118846120,3118846130,3119009010,3119009020,3119009060,3119009070,3119009080,3119009090,3119009100,3119009110,3119009120,3119009130,3119011010,3119011020,3119011060,3119011070,3119011080,3119011090,3119011100,3119011110,3119011120,3119011130,3119012010,3119012020,3119012060,3119012070);
for($i = 1; $i < count($allbarcodes); $i++)
{
try
{
$sumOfnum = summation((int)$allbarcodes[$i]);
$allbarcodes[$i] = str_pad($allbarcodes[$i],10,'0',STR_PAD_LEFT);
array_push($barcodeList,$sumOfnum.",".$allbarcodes[$i]);
}
catch(Exception $e)
{
echo "n Exception Caught", $e->getMessage();
}
}
function summation( $n)
{
$m =0; $sum=0;
while($n != 0)
{
$m = $n % 10;
$sum = $sum + $m;
$n = (int)$n/10;
}
return $sum;
}
我在一个文件中有大约 300,000 个数字,我需要对所有数字求和并创建一个总和值文件,并将该总和值的所有数字保存在 txt 文件中。我写了下面的语句来创建数组:
array_push($barcodeList,$sumOfnum.",".(int)$allbarcodes[$i]);
例如:如果数字是“2399879110”,它的总和是“49”,这个数字应该写在 49.txt 文件中。
对于某些数字,此代码工作正常,但是当数字更多时,此代码无法正常工作,所有数字或各种总和值(如 23,35 或任何开始复制到 46.txt 文件中)。
MM们