Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar subskrip tatasusunan dalam php

Bagaimana untuk menukar subskrip tatasusunan dalam php

PHPz
PHPzasal
2023-04-26 09:08:26727semak imbas

Dalam PHP, tatasusunan ialah jenis data yang kerap digunakan yang membolehkan anda menyimpan berbilang nilai dalam pembolehubah. Dalam operasi tatasusunan, operasi pada subskrip tatasusunan selalunya terlibat, termasuk menukar subskrip tatasusunan.

Jadi, dalam keadaan apakah kita perlu menukar subskrip tatasusunan? Sebagai contoh, kadangkala kita perlu menukar subskrip dalam tatasusunan daripada satu format kepada format lain, seperti menukar daripada subskrip angka kepada subskrip rentetan atau daripada subskrip rentetan kepada subskrip angka.

Berikut ialah beberapa contoh yang menunjukkan cara menukar subskrip tatasusunan PHP.

1. Tukar subskrip tatasusunan kepada subskrip angka

Dalam PHP, subskrip tatasusunan boleh menjadi nombor atau rentetan. Jika anda perlu menukar subskrip kepada nombor, anda boleh menggunakan "paksaan jenis" untuk mencapai ini.

Kod sampel:

$oldArr = array('a'=>1, 'b'=>2, 'c'=>3);
$newArr = array();
foreach ($oldArr as $key=>$val) {
    $newArr[(int)$key] = $val;
}
print_r($newArr);

Dalam kod di atas, kami mula-mula mencipta tatasusunan asal $oldArr, yang menggunakan subskrip rentetan a, b, c. Kami kemudian menukarnya kepada tatasusunan baharu $newArr, menggunakan subskrip angka 0, 1, 2. Dalam gelung foreach, kami menggunakan kaedah (int)$key untuk menukar subskrip rentetan kepada subskrip angka. Dengan cara ini, kami telah menukar subskrip tatasusunan daripada rentetan kepada nombor.

2. Tukar subskrip tatasusunan kepada subskrip rentetan

Jika anda perlu menukar subskrip tatasusunan daripada nombor kepada rentetan, anda boleh menggunakan (string) untuk melakukan penukaran jenis.

Kod sampel:

$oldArr = array(1=>'a', 2=>'b', 3=>'c');
$newArr = array();
foreach ($oldArr as $key=>$val) {
    $newArr[(string)$key] = $val;
}
print_r($newArr);

Dalam kod di atas, kami mula-mula mencipta tatasusunan asal $oldArr, yang menggunakan subskrip angka 1, 2, 3 . Kami kemudian menukar ini kepada tatasusunan baharu $newArr, menggunakan subskrip rentetan 1, 2, 3. Dalam gelung foreach, kami menggunakan kaedah (string)$key untuk menukar subskrip berangka kepada subskrip rentetan. Dengan cara ini, kami telah menukar subskrip tatasusunan daripada nombor kepada rentetan.

3 Gunakan fungsi array_combine() untuk menukar subskrip tatasusunan

Jika anda perlu menggabungkan dua tatasusunan menjadi satu tatasusunan dan menukar subskrip tatasusunan pada masa yang sama, anda boleh menggunakan array_combine() fungsi. Fungsi ini menerima dua parameter, parameter pertama ialah tatasusunan sebagai indeks tatasusunan baharu, dan parameter kedua ialah tatasusunan sebagai nilai elemen tatasusunan baharu.

Kod sampel:

$keys = array('a', 'b', 'c');
$values = array(1, 2, 3);
$newArr = array_combine($keys, $values);
print_r($newArr);

Dalam kod di atas, kami mencipta dua tatasusunan $keys dan $values, yang masing-masing mewakili subskrip dan nilai elemen tatasusunan baharu. Kami kemudian menggabungkannya ke dalam tatasusunan baharu array_combine() menggunakan fungsi $newArr. Dalam tatasusunan baharu ini, subskrip ialah a, b, c, dan nilai elemen masing-masing ialah 1, 2, 3. Dengan cara ini, kita boleh menukar subskrip dua tatasusunan pada masa yang sama.

Selain itu, terdapat satu siri fungsi tatasusunan dalam PHP, seperti array_map(), array_filter(), dsb., yang juga boleh digunakan untuk menukar subskrip tatasusunan. Fungsi ini sangat fleksibel dan boleh disesuaikan dan boleh digunakan mengikut keperluan sebenar.

Ringkasnya, untuk situasi di mana subskrip tatasusunan perlu ditukar, kita boleh mencapainya melalui paksaan jenis, fungsi array_combine() dsb. Dalam pembangunan sebenar, anda boleh memilih kaedah yang sesuai untuk beroperasi mengikut situasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk menukar subskrip tatasusunan dalam php. 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