Rumah pembangunan bahagian belakang masalah PHP Mengapa tiada 5 dalam subskrip tatasusunan php?

Mengapa tiada 5 dalam subskrip tatasusunan php?

Apr 25, 2023 am 09:05 AM

Dalam 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!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah amalan terbaik untuk deduplikasi tatasusunan php Apakah amalan terbaik untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:41 PM

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Mar 10, 2025 pm 06:16 PM

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Mar 03, 2025 pm 04:51 PM

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Bagaimana saya bekerja dengan sambungan php dan pecl? Bagaimana saya bekerja dengan sambungan php dan pecl? Mar 10, 2025 pm 06:12 PM

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Mar 10, 2025 pm 06:15 PM

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

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Mar 03, 2025 pm 04:47 PM

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:50 PM

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Mar 10, 2025 pm 06:12 PM

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?

See all articles