Heim > Backend-Entwicklung > PHP-Tutorial > So paginieren Sie ein zweidimensionales Array in PHP (mit Code)

So paginieren Sie ein zweidimensionales Array in PHP (mit Code)

不言
Freigeben: 2023-04-04 12:12:02
nach vorne
4449 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Paginierung zweidimensionaler Arrays in PHP (mit Code). Ich hoffe, dass er für Freunde hilfreich ist.

Angenommen, dass auf jeder Seite 10 Elemente angezeigt werden. Die Paginierung einer Liste wird normalerweise als zweidimensionales Array ermittelt und dann in die Liste gerendert. Das Paging dient hier der Überprüfung der Datenbank. Bei der Überprüfung wird nur die Anzahl der Elemente pro Seite überprüft. Dieses zweidimensionale Array wird jedoch nicht in der Datenbank gefunden , aber alle Daten werden von Anfang an in diesem Array gespeichert. Wie kann man durch Indizes eine Liste erstellen, indem man zehn einstellige Arrays aus diesem zweistelligen Array durch Indizes auswählt und wieder zusammensetzt? ein zweistelliges Array. Nehmen Sie ein zweidimensionales Array wie folgt an: Für jede Seite können 10 Elemente zwei Seiten anzeigen, sodass 12 Datenelemente erstellt wurden

$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);
Nach dem Login kopieren

Ergebnis drucken:

Kapseln Sie es:

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;
	}
Nach dem Login kopieren

Aufruf: Das gedruckte Ergebnis ist das gleiche

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

 dump($new_arr);
Nach dem Login kopieren

Sie können beim Aufruf auch andere Parameter übergeben, nicht unbedingt jede Seite. Zehn Elemente,

$new_arr = $this->arr_page($arr,1,5);
$new_arr = $this->arr_page($arr,2,5);
Nach dem Login kopieren

Wie viele Seiten es gibt, verwenden Sie einfach count($arr) und teilen Sie es durch Anzahl der Elemente pro Seite. Wenn es Dezimalstellen gibt, addieren Sie 1, damit Sie paginieren können

Das obige ist der detaillierte Inhalt vonSo paginieren Sie ein zweidimensionales Array in PHP (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage