Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在显示文本文件内容时设置页码_Php_Arrays_Pagination_Page Numbering - Fatal编程技术网

Php 如何在显示文本文件内容时设置页码

Php 如何在显示文本文件内容时设置页码,php,arrays,pagination,page-numbering,Php,Arrays,Pagination,Page Numbering,我有文本文件,我想显示页码,以便在第页中显示 例如,我的文本文件有100行,我可以在表中用数组显示它们,每行显示一行,如下所示: 这是我的文本文件示例: mycontent-54564-yoursdsd condsadtent-5544564-fyfdfdsd .... //转换为数组 $lines=file('myfile.txt'); //计算行数 $numbers=计数($line); //显示表格行中的每一行: foreach($line作为$line){ $line=分解(“-”,

我有文本文件,我想显示页码,以便在第页中显示
例如,我的文本文件有100行,我可以在表中用数组显示它们,每行显示一行,如下所示:
这是我的文本文件示例:

mycontent-54564-yoursdsd
condsadtent-5544564-fyfdfdsd
....
//转换为数组
$lines=file('myfile.txt');
//计算行数
$numbers=计数($line);
//显示表格行中的每一行:
foreach($line作为$line){
$line=分解(“-”,$line);
回声“;
回显“$line[0]”;
回显“$line[1]”;
回显“$line[2]”;
回声“;
}
我想用PHP分页来查看这个表,例如在一页中显示每10行文本文件,在第1页中显示第1行到第10行,在第2页中显示第11行到第20行等等。。。我该怎么做?

谢谢

您可以使用
array_chunk
()

数组将数组分块为具有大小元素的数组。最后 块可能包含小于大小的元素

这样,您就可以更改以下代码:

$pages = array_chunk($lines, 10); // create chunk of 10 fr each page

foreach($pages as $i => $page) {
    echo "This is page num $i" . PHP_EOL;

    foreach ($page as $line) { // for each line in page
        $line=explode("-", $line);
        echo "<tr><td>$line[0]</td><td>$line[1]</td><td>$line[2]</td></tr>";
    }
}
$pages=array_chunk($lines,10);//创建每页10帧的区块
foreach($i=>$page){
echo“这是第num$i页”;
foreach($page as$line){//
$line=分解(“-”,$line);
回显“$line[0]$line[1]$line[2]”;
}
}
已编辑

如果只想加载特定页面的数据,请执行以下操作:

$pageNum = _Session["page"]; // of whatever way you use to get page num - you may want to do -1 as array index starting from 0 - up to you
$pages = array_chunk(file('myfile.txt'), 10);

foreach ($pages[$pageNum] as $line) { // for each line in page you want
    $line=explode("-", $line);
    echo "<tr><td>$line[0]</td><td>$line[1]</td><td>$line[2]</td></tr>";
}
$pageNum=_Session[“page”];//无论您使用何种方式获取page num,您都可能希望将-1作为数组索引,从0开始,一直到您
$pages=array_chunk(文件('myfile.txt'),10);
foreach($pages[$pageNum]作为$line){//用于所需页面中的每一行
$line=分解(“-”,$line);
回显“$line[0]$line[1]$line[2]”;
}

谢谢,但我如何显示页码及其内容,您的代码将页码1保留到最后,我希望在加载时:
site.com/?page=3
它从第31行加载到第40行,我想知道如何才能做到这一点?@AminArjmand-编辑为仅获取require页的数据-注意,对于第3页示例,您需要减去1作为从0开始的数组索引
$pageNum = _Session["page"]; // of whatever way you use to get page num - you may want to do -1 as array index starting from 0 - up to you
$pages = array_chunk(file('myfile.txt'), 10);

foreach ($pages[$pageNum] as $line) { // for each line in page you want
    $line=explode("-", $line);
    echo "<tr><td>$line[0]</td><td>$line[1]</td><td>$line[2]</td></tr>";
}