Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengindeks semula Tatasusunan PHP daripada Berasaskan Sifar kepada Berasaskan Satu?

Bagaimana untuk mengindeks semula Tatasusunan PHP daripada Berasaskan Sifar kepada Berasaskan Satu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-13 21:27:52295semak imbas

How to Reindex a PHP Array from Zero-Based to One-Based?

Mengindeks Semula Tatasusunan daripada Sifar kepada Satu dalam PHP

Memandangkan tatasusunan di mana indeks bermula dari sifar, mungkin perlu mengindeks semula tatasusunan dengan indeks bermula dari satu. Ini boleh dicapai menggunakan fungsi tatasusunan dalam PHP.

Pengindeksan semula dari Sifar ke Satu

Untuk mengindeks semula tatasusunan daripada sifar kepada satu, gunakan langkah berikut:

  1. Dapatkan nilai tatasusunan sedia ada menggunakan fungsi array_values(). Fungsi ini mencipta tatasusunan baharu yang mengandungi hanya nilai tatasusunan asal, dengan indeks ditetapkan semula kepada sifar.
  2. Gabungkan nilai baharu dengan indeks yang dikehendaki menggunakan fungsi array_combine(). Fungsi julat() boleh digunakan untuk mencipta indeks yang diingini, yang bermula daripada satu.

Contoh:

Pertimbangkan tatasusunan asal:

$arr = [
    2 => [
        'title' => 'Section',
        'linked' => 1,
    ],
    1 => [
        'title' => 'Sub-Section',
        'linked' => 1,
    ],
    0 => [
        'title' => 'Sub-Sub-Section',
        'linked' => null,
    ],
];

Untuk mengindeks semula tatasusunan dengan indeks bermula dari satu, gunakan yang berikut kod:

$iOne = array_combine(
    range(1, count($arr)),
    array_values($arr)
);

Tatasusunan $iOne yang terhasil adalah seperti berikut:

[
    1 => [
        'title' => 'Section',
        'linked' => 1,
    ],
    2 => [
        'title' => 'Sub-Section',
        'linked' => 1,
    ],
    3 => [
        'title' => 'Sub-Sub-Section',
        'linked' => null,
    ],
]

Fungsi Berkaitan Dokumentasi:

  • [array_values()](https://www.php.net/manual/en/function.array-values.php)
  • [array_combine ()](ht tps://www.php.net/manual/en/function.array-combine.php)
  • [julat()](https://www.php.net/manual/en/function. julat.php)

Atas ialah kandungan terperinci Bagaimana untuk mengindeks semula Tatasusunan PHP daripada Berasaskan Sifar kepada Berasaskan Satu?. 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