Mengapa tiada 5 dalam subskrip tatasusunan php?
Apr 25, 2023 am 09:05 AMDalam PHP, tatasusunan ialah himpunan data tersusun, terdiri daripada satu atau lebih pasangan nilai kunci dan subskrip pasangan nilai kunci digunakan sebagai indeks tatasusunan. Dalam tatasusunan, setiap elemen mempunyai indeks unik dan indeks unik boleh berupa nilai berangka, rentetan atau jenis lain.
Walau bagaimanapun, kami sering menghadapi masalah sedemikian: Mengapa tatasusunan PHP tidak mempunyai subskrip 5?
Sebenarnya, terdapat subskrip 5 dalam tatasusunan PHP, tetapi dalam beberapa kes ia mungkin diabaikan atau ditimpa oleh subskrip lain.
Sebabnya adalah seperti berikut:
1 Subskrip permulaan bermula dari 0
Dalam PHP, subskrip permulaan tatasusunan bermula dari 0, bukan dari 1 permulaan. Oleh itu, apabila kita mengisytiharkan tatasusunan, indeks elemen pertama tatasusunan ialah 0, bukan 1. Inilah sebabnya kita sering melihat pengaturcara PHP menggunakan $my_array[0] untuk mewakili elemen pertama tatasusunan.
2. Penukaran jenis automatik
PHP ialah bahasa ditaip secara dinamik yang menukar jenis pembolehubah secara automatik. Ini bermakna apabila kita menggunakan subskrip rentetan bukan angka sebagai indeks tatasusunan, PHP akan menukarnya secara automatik kepada jenis integer. Contohnya, kod berikut:
$my_array["hello"] = "world";
echo $my_array["hello"]; //output "world"
echo $my_array[0]; //Output "world"
Di sini, kami menggunakan rentetan "hello" sebagai subskrip tatasusunan, tetapi rentetan ini tidak mempunyai nilai, jadi PHP menukarnya kepada 0 , jadi $my_array[0] akan mengeluarkan "world".
3. Subskrip lain mungkin meliputi 5
Sebab lain ialah dalam beberapa kes, subskrip lain bagi tatasusunan mungkin meliputi 5 subskrip. Contohnya, dalam kod berikut:
$my_array = array(0, 1, 2, 3, 4, "five" => 5, 6);
echo $my_array[ 5]; //Output ""
Di sini, kami menetapkan nilai elemen dengan subskrip "lima" kepada 5. Memandangkan "lima" bukan subskrip angka, indeksnya dalam tatasusunan adalah bersekutu, bukan angka. Oleh itu, dalam tatasusunan ini, indeks 5 sudah diduduki oleh indeks "lima" yang berkaitan, jadi $my_array[5] akan mengeluarkan rentetan kosong.
Ringkasan:
Dalam PHP, tatasusunan boleh mempunyai sebarang indeks, termasuk jenis angka, rentetan, bersekutu dan lain-lain. Subskrip tatasusunan mula dikira dari 0, dan PHP akan melakukan penukaran jenis secara automatik, jadi kami boleh menggunakan rentetan, nombor titik terapung dan jenis lain sebagai indeks tatasusunan. Pada masa yang sama, dalam tatasusunan, berbilang elemen boleh berkongsi subskrip yang sama, seperti tatasusunan bersekutu. Oleh itu, walaupun tiada unsur pada indeks tatasusunan 5, kita boleh mengakses elemen pada kedudukan ini melalui kaedah lain.
Atas ialah kandungan terperinci Mengapa tiada 5 dalam subskrip tatasusunan php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?
