Bagaimana untuk membuat tatasusunan mula mengira daripada bukan 0 dalam php

PHPz
Lepaskan: 2023-04-18 14:31:40
asal
727 orang telah melayarinya

Dalam bahasa PHP, tatasusunan ialah jenis data yang biasa digunakan. Secara lalai, subskrip tatasusunan PHP mula dikira dari 0, yang munasabah dalam kebanyakan kes. Walau bagaimanapun, kadangkala kita perlu mengubah suai titik permulaan mengira subskrip tatasusunan supaya ia bermula daripada 1 atau nilai lain.

Terdapat dua cara dalam PHP untuk mengira tatasusunan bermula daripada bukan 0: satu ialah mencipta tatasusunan bersekutu dan secara manual menentukan nama kunci setiap elemen tatasusunan, satu lagi ialah menggunakan fungsi terbina dalam PHP untuk menukar tatasusunan Indeks.

Berikut ialah penerangan terperinci tentang dua kaedah pelaksanaan:

Kaedah 1: Tentukan nama kunci secara manual

Apabila mencipta tatasusunan dalam PHP, jika nama kunci tidak ditentukan, nama Kunci PHP akan diberikan nilai indeks angka yang meningkat secara automatik secara lalai, bermula pada 0. Jika kita mahu nama kunci elemen pertama tatasusunan menjadi 1, sebagai contoh, tatasusunan yang mengandungi 3 elemen dengan nama kunci 1, 2 dan 3, maka kita boleh menentukan nama kunci secara manual seperti berikut:

$array = array(
    1 => "first element",
    2 => "second element",
    3 => "third element"
);
Salin selepas log masuk

Dalam kaedah ini, kita hanya perlu menentukan nama kunci elemen tatasusunan sebagai 1, 2 dan 3 dan bukannya membenarkan PHP menetapkan nama kunci dengan sendirinya. Dengan cara ini, subskrip tatasusunan boleh bermula dari 1.

Kaedah ini lebih sesuai apabila kita mengetahui terlebih dahulu elemen mana yang ada dalam tatasusunan, atau kita perlu memasukkan elemen pada kedudukan tertentu.

Kaedah 2: Gunakan fungsi terbina dalam PHP untuk menukar tatasusunan diindeks

Cara lain untuk mengira tatasusunan bermula daripada bukan 0 ialah menggunakan fungsi array_values() PHP terbina dalam. Fungsi ini mengembalikan tatasusunan baharu semua nilai dalam tatasusunan, dengan indeks bermula dari 0. Oleh itu, kita boleh menggunakan fungsi ini untuk menukar tatasusunan indeks dan menomborkan semula subskripnya.

Sebagai contoh, kami mempunyai tatasusunan dengan 3 elemen seperti ini:

$array = array(
    "first element",
    "second element",
    "third element"
);
Salin selepas log masuk

Sekarang, kami mahu elemen pertama tatasusunan mempunyai nama kunci 1, jadi kami perlu Subskripnya dinomborkan semula. Anda boleh menggunakan kod berikut:

$new_array = array_values($array);
$new_array = array_merge(array(1 => NULL), $new_array);
Salin selepas log masuk

Dalam contoh ini, kami menghantar tatasusunan lama kepada fungsi array_values(), yang akan mengembalikan tatasusunan diindeks baharu dengan subskrip dikira tepat dari 0. Kami kemudiannya menggunakan fungsi array_merge() untuk menggabungkan tatasusunan baharu dan tatasusunan lama, dan menentukan nama kunci item pertama sebagai 1. Pada masa ini, subskrip tatasusunan baharu bermula dari 1.

Perlu diambil perhatian bahawa nama kunci item pertama dalam tatasusunan masih bermula dari 0, tetapi kini kita boleh mengaksesnya melalui tatasusunan baharu, dan subskrip tatasusunan baharu mula dikira dari 1.

Ringkasan:

Tidak kira apa situasi yang anda mahu membuat tatasusunan mula mengira daripada bukan 0, PHP menyediakan penyelesaian. Anda boleh mencipta tatasusunan bersekutu dan menetapkan kunci secara manual kepada setiap elemen, atau gunakan fungsi array_values() terbina dalam untuk menukar tatasusunan diindeks.

Walau bagaimanapun, sebelum mengubah suai titik permulaan subskrip tatasusunan, anda harus terlebih dahulu mempertimbangkan sama ada anda benar-benar perlu berbuat demikian. Lagipun, sangat masuk akal untuk PHP menggunakan subskrip berasaskan sifar secara lalai, dan ramai pengaturcara PHP sudah terbiasa dengannya.

Atas ialah kandungan terperinci Bagaimana untuk membuat tatasusunan mula mengira daripada bukan 0 dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan