日期:2014-05-17  浏览次数:20514 次

一个超大数组的展示问题
    问题是这样的,在服务器上的一个目录里存放着许多文件,大小为523M,加起来的行数为2624960,文件里的数据是一行一条的,放在页面上展示,每页17条,于是页数便是2624960/17为154410页,做的时候是把页数存进数组的,在foreach循环展示出来的,分页做成下拉框


        foreach ($p_slist2 as $value => $caption)
        {
            echo "<option value=$value ";

            if ($p_setto2 == $value)
            {
                echo "selected";
            }

            echo "> $caption</option>";
         }


当文件容量小的时候,上面的代码时可以执行显示的,可以现在文件容量大了,断点排查的时候,执行到这中断了,后来换了种写法


        for($i=1,$len=count($p_slist2);$i<=$len;$i++) {
            if($i == $p_settos2) echo "<option value='$i' selected>$i</option>";
            else echo "<option value='$i' >$i</option>";
        }

这样写,打开下拉框只能展现到45189条,但是我打印整个大数组的时候却能显示全部的154410,这是为什么,知道的朋友解惑!!!!!!

------解决方案--------------------
十多万条数据都放到页面上?这给谁看?

至于下拉框显示不了,应该是超出了 select 控件的上限