使用大整数值

时间:2014-08-12 14:02:38

标签: php

我有一个代码,可以很好地工作到1000万,即10,000,000,但停止工作以获得更高的价值。无论如何在PHP中使用非常大的数字

<?php
    $num_value_string;
    $counter=0;
    for($i=1;$i<=100000000;$i++)
    {
        $num_value_string=(string)$i;
        if(strstr($num_value_string,"17"))
            $counter++;
    }
    echo $counter . " numbers between 1 to " . --$i . " contains 17";
?>

2 个答案:

答案 0 :(得分:0)

您需要为大数字使用适当的库(例如BC Math),但通常这用于计算数字计算,而不是(长)循环中的变量。

答案 1 :(得分:-2)

查看您的代码,PHP可以处理这些数字而无需额外的东西。所以你的问题是超时或内存限制。尝试在脚本开头设置此项

ini_set("memory_limit","256M"); // very large !
set_time_limit ( 3600 ); // one hour is more then enough !

顺便说一句,你的问题可以更简单地解决!