Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menukar nilai tatasusunan asal dalam php

Bagaimana untuk menukar nilai tatasusunan asal dalam php

Apr 19, 2023 am 10:04 AM

Tatasusunan PHP ialah struktur data yang sangat biasa yang sangat mudah dan fleksibel untuk digunakan. Dalam PHP, selalunya perlu mengubah suai tatasusunan asal, dan dalam beberapa kes nilai tatasusunan asal perlu diubah. Artikel ini akan memperkenalkan cara menukar nilai tatasusunan asal dalam PHP.

1. Tugasan rujukan tatasusunan

Dalam PHP, jika anda menggunakan pernyataan tugasan untuk menetapkan nilai kepada pembolehubah tatasusunan, maka pembolehubah baharu ialah salinan tatasusunan asal, iaitu, ubah suai pembolehubah baharu Nilai tidak akan mengubah nilai tatasusunan asal. Jika anda perlu menukar nilai tatasusunan asal, anda perlu menggunakan tugasan rujukan. Simbol penugasan rujukan "&" boleh diletakkan di hadapan pembolehubah, yang bermaksud bahawa apabila memberikan pembolehubah kepada pembolehubah lain, rujukan kepada pembolehubah asal digunakan. Oleh itu, mengubahsuai nilai satu pembolehubah secara serentak mengubahsuai nilai pembolehubah yang lain.

Sebagai contoh, kod berikut menunjukkan perbezaan antara tugasan rujukan dan tugasan tradisional:

// 传统的赋值语句
$array1 = array(1, 2, 3);
$array2 = $array1;
$array2[1] = 4;
print_r($array1); // 输出 Array ( [0] => 1 [1] => 2 [2] => 3 )
print_r($array2); // 输出 Array ( [0] => 1 [1] => 4 [2] => 3 )

// 引用赋值语句
$array1 = array(1, 2, 3);
$array2 = &$array1;
$array2[1] = 4;
print_r($array1); // 输出 Array ( [0] => 1 [1] => 4 [2] => 3 )
print_r($array2); // 输出 Array ( [0] => 1 [1] => 4 [2] => 3 )
Salin selepas log masuk

Seperti yang anda boleh lihat, dalam kod menggunakan tugasan rujukan, mengubah suai nilai $array2 akan juga mengubah suai $ Nilai tatasusunan1. Ini kerana $array2 ialah rujukan kepada $array1, dan ia menunjuk kepada tatasusunan yang sama.

2. Ubah suai secara langsung nilai elemen tatasusunan

Selain menggunakan tugasan rujukan, anda juga boleh mengubah suai secara langsung nilai elemen tatasusunan untuk menukar nilai tatasusunan asal. Anda boleh menggunakan subskrip tatasusunan untuk mengakses dan mengubah suai nilai elemen tatasusunan. Sebagai contoh, kod berikut menunjukkan cara untuk mengubah suai secara langsung nilai elemen tatasusunan melalui subskrip tatasusunan:

// 直接修改数组元素的值
$array = array(1, 2, 3);
$array[1] = 4;
print_r($array); // 输出 Array ( [0] => 1 [1] => 4 [2] => 3 )
Salin selepas log masuk

Seperti yang anda lihat, selepas mengubah suai nilai $array[1] kepada 4, nilai $array juga telah diubah. Ini kerana dalam PHP, tatasusunan ialah koleksi tersusun, dan setiap elemen mempunyai subskrip unik untuk mengenal pastinya. Oleh itu, mengakses dan mengubah suai nilai elemen tatasusunan melalui subskrip tatasusunan adalah operasi yang sangat biasa.

3. Gunakan fungsi tatasusunan untuk menukar nilai tatasusunan asal

Dalam PHP, anda juga boleh menggunakan pelbagai fungsi tatasusunan untuk menukar nilai tatasusunan asal. Fungsi ini termasuk menambah dan mengalih keluar elemen, menyusun dan menapis tatasusunan, dsb. Berikut ialah beberapa fungsi tatasusunan yang biasa digunakan:

  1. array_push: Tambahkan satu atau lebih elemen pada penghujung tatasusunan.
$array = array(1, 2, 3);
array_push($array, 4, 5);
print_r($array); // 输出 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
Salin selepas log masuk
  1. array_pop: Alih keluar elemen dari hujung tatasusunan.
$array = array(1, 2, 3);
array_pop($array);
print_r($array); // 输出 Array ( [0] => 1 [1] => 2 )
Salin selepas log masuk
  1. array_shift: Alih keluar elemen dari permulaan tatasusunan.
$array = array(1, 2, 3);
array_shift($array);
print_r($array); // 输出 Array ( [0] => 2 [1] => 3 )
Salin selepas log masuk
  1. array_unshift: Tambahkan satu atau lebih elemen pada permulaan tatasusunan.
$array = array(1, 2, 3);
array_unshift($array, 0);
print_r($array); // 输出 Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )
Salin selepas log masuk
  1. array_splice: Mengalih keluar bilangan elemen tertentu daripada tatasusunan dan menggantikannya dengan elemen baharu.
$array = array(1, 2, 3, 4, 5);
array_splice($array, 1, 2, array(6, 7));
print_r($array); // 输出 Array ( [0] => 1 [1] => 6 [2] => 7 [3] => 4 [4] => 5 )
Salin selepas log masuk
  1. isih: Isih tatasusunan dalam tertib menaik.
$array = array(3, 1, 4, 1, 5, 9);
sort($array);
print_r($array); // 输出 Array ( [0] => 1 [1] => 1 [2] => 3 [3] => 4 [4] => 5 [5] => 9 )
Salin selepas log masuk

7.rsort: Isih tatasusunan dalam tertib menurun.

$array = array(3, 1, 4, 1, 5, 9);
rsort($array);
print_r($array); // 输出 Array ( [0] => 9 [1] => 5 [2] => 4 [3] => 3 [4] => 1 [5] => 1 )
Salin selepas log masuk
  1. array_filter: Tapis elemen dalam tatasusunan yang tidak memenuhi syarat.
$array = array(1, 2, 3, 4, 5);
$array = array_filter($array, function($value) {
    return $value % 2 == 0;
});
print_r($array); // 输出 Array ( [1] => 2 [3] => 4 )
Salin selepas log masuk

Seperti yang anda lihat daripada contoh di atas, menggunakan fungsi tatasusunan ini boleh menukar nilai tatasusunan asal dengan mudah dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Kesimpulan

Terdapat banyak cara untuk menukar nilai tatasusunan asal dalam PHP Anda boleh menggunakan tugasan rujukan, mengubahsuai terus nilai elemen tatasusunan dan menggunakan fungsi tatasusunan. Pilihan kaedah ini bergantung pada keperluan dan kemudahan sebenar. Saya harap artikel ini dapat memberikan sedikit bantuan kepada pembangun PHP dan menjadikan mereka lebih mahir dalam menggunakan tatasusunan dan memproses data.

Atas ialah kandungan terperinci Bagaimana untuk menukar nilai tatasusunan asal dalam 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