ホームページ  >  記事  >  バックエンド開発  >  PHPで2次元配列をページネーションする方法(コード付き)

PHPで2次元配列をページネーションする方法(コード付き)

不言
不言転載
2018-11-14 17:08:014434ブラウズ

この記事の内容は、PHP で 2 次元配列をページネーションする方法 (コード付き) に関するもので、一定の参考価値があり、必要な友人が参照することができます。

2 次元配列のページング。各ページに 10 個の項目が表示されると仮定すると、リストのページングは​​通常データベースからチェックされ、2 次元配列であることが判明してからレンダリングされます。リストへのページングです。ここでのページングは​​データベースをチェックすることです。チェックする場合、ページごとの項目数のみがチェックされます。各ページに項目が 10 個ある場合は、10 個の項目だけがチェックされます。ただし、この 2 次元配列はチェックされません。データベースから見つかりましたが、すべてのデータは最初からこの配列に格納されています。リストにレンダリングするには、ページネーションを行うにはどうすればよいでしょうか?添字を使用して、この 2 桁の配列から 10 個の 1 桁の配列を選択するという愚かな方法があります。次のような 2 次元配列を想定し、1 ページあたり 10 項目で 2 ページを表示できるため、12 項目のデータを作成しました

$arr = array(
				array('name'=>'第一页张三1','mobile'=>'111111111'),
                array('name'=>'第一页李四1','mobile'=>'222222222'),
                array('name'=>'第一页王五1','mobile'=>'333333332'),
                array('name'=>'第一页李四2','mobile'=>'444444444'),
                array('name'=>'第一页张三2','mobile'=>'555555555'),
                array('name'=>'第一页王五2','mobile'=>'666666666'),
                array('name'=>'第一页张三3','mobile'=>'777777777'),
                array('name'=>'第一页李四3','mobile'=>'888888888'),
                array('name'=>'第一页王五3','mobile'=>'999999999'),
                array('name'=>'第一页李四4','mobile'=>'123456789'),
                array('name'=>'第二页张三4','mobile'=>'987654321'),
                array('name'=>'第二页王五4','mobile'=>'112233445'),
			);

			//前端传过来的页数,第几页
			$p = I('p');
			if (empty($p)){
				$p = 1;
			}

			//开始取值的下标,数组下标是从0开始的,例如第一页从下标为0开始取,第二页从下标为10开始取
			$start = ($p-1)*10;

			//根据开始的下标,和需要取的数据的条数(每页显示的条数)循环赋值给新数组
			for ($i=$start;$i<$start+10;$i++){
				if (!empty($arr[$i])){
					$new_arr[$i] = $arr[$i];
				}
			}

            dump($new_arr);

Print結果:

カプセル化:

public function arr_page($arr,$p,$count){
        if (empty($p)){
            $p = 1;
        }

        if (empty($count)){
        	$count = 10;
		}

        $start = ($p-1)*$count;
        for ($i=$start;$i<$start+$count;$i++){
            if (!empty($arr[$i])){
                $new_arr[$i] = $arr[$i];
            }
        }

        return $new_arr;
	}

呼び出し: 同じ結果を出力します

 $new_arr = $this->arr_page($arr,1,10);

 dump($new_arr);

呼び出し時に他のパラメータを渡すこともできますが、必ずしもすべてのページに渡す必要はありません。10 個の項目、

$new_arr = $this->arr_page($arr,1,5);
$new_arr = $this->arr_page($arr,2,5);

ページ数については、count($arr) を次の値で割った値を使用します。ページごとの項目数。小数点がある場合は、ページ分割できるように 1 を追加します。

以上がPHPで2次元配列をページネーションする方法(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。