PHP:substr跑道循环

时间:2011-08-18 09:10:56

标签: php loops

这是我的代码的一部分

    $hold = $this->content;
    $hold_table = array();
    for($i=0; $i<strlen($hold); $i++){
        $t = substr($hold, $i, 10);
        $count = substr_count($hold, $t);
        if($count > 1){
            $hold = str_replace($t, '', $hold); //Just iterating for now to get counts
            $hold_table[bin2hex($t)] = $count;
        }
    }

$this->content是一个读入的文件。

如果此行中的“10”:$t = substr($hold, $i, 10);为10或更低,它可以正常工作并将结果吐出来。

如果我改变10说“15”。该脚本只是循环挂起。

我不认为我正在运行任何数据键大小限制,如果$i > strlen($hold)

,“FOR”循环应该结束

为什么从10变为15的任何想法会导致混乱?

1 个答案:

答案 0 :(得分:1)

您正在通过str_replace语句改变$ hold(基本上缩短它)。我认为这会产生一些意想不到的结果。