Tatasusunan PHP diindeks daripada 0 secara lalai, tetapi dalam beberapa kes, kita perlu mengindeks tatasusunan daripada 1. Artikel ini akan memperkenalkan cara untuk melakukannya.
Menggunakan tatasusunan dalam PHP
Dalam PHP, tatasusunan ialah jenis data yang sangat biasa. Tatasusunan boleh menyimpan sebarang bilangan nilai dan dirujuk menggunakan pasangan nilai kunci.
Sebagai contoh, berikut ialah tatasusunan yang diindeks menggunakan lalai 0:
$myArray = array('apple', 'banana', 'orange'); echo $myArray[0]; // 输出: apple
Tetapi kadangkala, kita perlu mengindeks tatasusunan bermula dari 1, seperti ini:
$myArray = array(1=>'apple', 2=>'banana', 3=>'orange'); echo $myArray[1]; // 输出: apple
Biar tatasusunan bermula dari 1
Pertama, kita boleh menggunakan fungsi array_combine() untuk menggabungkan tatasusunan baharu dengan tatasusunan sedia ada yang diindeks daripada 0:
$oldArray = array('apple', 'banana', 'orange'); $newArray = range(1, count($oldArray)); // 生成从1到n的序列 $myArray = array_combine($newArray, $oldArray); echo $myArray[1]; // 输出: apple
Above In kod tersebut, selepas menggunakan fungsi julat() untuk menjana jujukan daripada 1 hingga n (iaitu, panjang tatasusunan), anda boleh menggunakan fungsi array_combine() untuk menggabungkan jujukan dengan tatasusunan asal untuk menjana tatasusunan baharu.
Terdapat juga cara untuk menjadikan tatasusunan bermula dari 1, iaitu menggunakan fungsi pembalikan tatasusunan array_reverse() dan fungsi pengindeksan semula tatasusunan array_values():
$oldArray = array('apple', 'banana', 'orange'); $newArray = array_reverse($oldArray); // 反转原始数组 $newArray = array_values($newArray); // 重新索引新的数组 $myArray = array_combine(range(1, count($oldArray)), $newArray); echo $myArray[1]; // 输出: apple
Dalam kes ini, kami menggunakan fungsi array_reverse() untuk menterbalikkan tatasusunan asal dahulu, kemudian gunakan fungsi array_values() untuk mengindeks semula tatasusunan baharu, dan akhirnya menggunakan fungsi array_combine() untuk menggabungkan jujukan dengan tatasusunan baharu.
Ringkasan
Terdapat beberapa cara untuk menjadikan tatasusunan bermula dari 1, termasuk menggunakan fungsi julat(), menggunakan fungsi array_reverse() dan array_values(), menggunakan fungsi array_combine() , dsb. Walau apa pun, ini boleh dicapai dengan mudah.
Akhir sekali, perlu diingat bahawa apabila menukar tatasusunan daripada 0 kepada 1 untuk pengindeksan, ia mungkin menyebabkan beberapa masalah Sebagai contoh, sesetengah kod dijangka bermula dari 0 dan mungkin juga perlu diubah suai. Oleh itu, akibatnya perlu dipertimbangkan dengan teliti apabila menggunakan pendekatan ini.
Atas ialah kandungan terperinci Bagaimana untuk membuat tatasusunan bermula dari 1 dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!