Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah terdapat nombor negatif dalam penomboran tatasusunan php?

Mengapakah terdapat nombor negatif dalam penomboran tatasusunan php?

PHPz
PHPzasal
2023-04-20 13:49:35526semak imbas

Untuk pembangun PHP, penomboran tatasusunan ialah keperluan biasa. Tetapi kadangkala, apabila kita melaksanakan paging tatasusunan, kita menghadapi nombor negatif. Artikel ini akan membincangkan sebab mengapa ini berlaku dan cara membetulkannya.

1. Sebab nombor negatif

1. Subskrip tatasusunan bermula dari 0

Dalam PHP, subskrip tatasusunan mula dikira dari 0. Apabila kita menggunakan fungsi seperti array_slice untuk melakukan paging tatasusunan, kita perlu memberi perhatian kepada nilai subskrip permulaan. Jika nilainya kurang daripada 0, nombor negatif akan muncul.

2. Saiz paging yang tidak munasabah

Apabila melakukan paging tatasusunan, kita perlu menentukan bilangan elemen yang dipaparkan pada setiap halaman. Jika saiz paging tidak dikendalikan dengan betul, bilangan elemen pada halaman terakhir tidak akan mencukupi, mengakibatkan nombor negatif.

3. Jumlah bilangan elemen adalah tidak munasabah

Jumlah jumlah elemen yang tidak munasabah juga akan membawa kepada nombor negatif. Sebagai contoh, nombor negatif berlaku apabila jumlah bilangan elemen adalah kurang daripada atau sama dengan saiz halaman.

2. Penyelesaian

1 Nyatakan subskrip permulaan

Untuk mengelakkan nombor negatif, kita perlu menentukan subskrip permulaan sebelum menyusun halaman. Anda boleh menggunakan fungsi maks PHP untuk mengehadkan subskrip kepada 0.

Contohnya:

$start = max($currentPage - 1, 0) * $pageSize;
$pageData = array_slice($data, $start, $pageSize);

2. Mengendalikan saiz paging

Apabila mengendalikan saiz paging, kita perlu memberi perhatian untuk memastikan bilangan elemen pada halaman terakhir tidak kurang daripada 0. Jika bilangan elemen pada halaman terakhir kurang daripada 0, anda perlu mengehadkan saiz halaman kepada jumlah elemen.

Contohnya:

$pageSize = 10;
$total = count($data);
$maxPage = ceil($total / $pageSize);
if ($currentPage > $maxPage) {

$currentPage = $maxPage;

}
$start = ($currentPage - 1) * $pageSize;
$pageData = array_slice($data, $start, $ pageSize);

3. Memproses jumlah bilangan elemen

Apabila memproses jumlah elemen, kita perlu memastikan bahawa jumlah elemen tidak kurang daripada saiz halaman. Jika jumlah bilangan elemen kurang daripada saiz halaman, anda perlu mengehadkan saiz halaman kepada jumlah elemen.

Contohnya:

$pageSize = 10;
$total = count($data);
if ($total < $pageSize) {

$pageSize = $total;

}
$maxPage = ceil($total / $pageSize);
$start = ($currentPage - 1) * $pageSize;
$pageData = array_slice($data, $start, $ pageSize);

3. Ringkasan

Paging tatasusunan ialah kemahiran asas dalam pembangunan PHP. Walau bagaimanapun, nombor negatif juga merupakan masalah biasa. Apabila berurusan dengan paging tatasusunan, anda perlu memberi perhatian kepada nilai subskrip tatasusunan, pengendalian saiz paging, dan had pada jumlah elemen untuk mengelakkan nombor negatif. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci Mengapakah terdapat nombor negatif dalam penomboran tatasusunan php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn