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

Bagaimana untuk menukar nilai tatasusunan PHP dalam gelung

Apr 27, 2023 pm 04:38 PM

Dalam pembangunan PHP, selalunya perlu melakukan operasi gelung pada tatasusunan dan menukar nilai tatasusunan semasa gelung. Artikel ini akan menerangkan cara menukar nilai tatasusunan PHP dalam gelung.

1. Operasi gelung biasa

PHP menyediakan tiga struktur gelung yang biasa digunakan: untuk, sementara dan foreach. Struktur ini digunakan untuk mengulangi elemen tatasusunan. Mari kita lihat cara menggunakan gelung for untuk menukar tatasusunan.

1. Tukar subskrip tatasusunan

Menukar subskrip tatasusunan biasanya dilaksanakan menggunakan gelung for Kod sampel adalah seperti berikut:

<?php  
   $array=array("apple","banana","cherry");  
   for($i=0;$i<count($array);$i++)  
   {  
      $array[$i]=$array[$i]."_fruit";  
   }  
   print_r($array);  
?>
Salin selepas log masuk

Hasil output ialah: <.>

Array ( [0] =&gt; apple_fruit [1] =&gt; banana_fruit [2] =&gt; cherry_fruit )
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan tatasusunan asal, kemudian melintasi tatasusunan melalui gelung for, mengubah suai nilai setiap elemen dan menetapkan semula nilai baharu yang diubah suai kepada elemen.

2. Tukar nilai tatasusunan

Menukar nilai tatasusunan adalah serupa dengan menukar subskrip tatasusunan, tetapi ia boleh dicapai hanya melalui pernyataan gelung foreach. Kod sampel adalah seperti berikut:

&lt;?php  
    $array=array(1,2,3,4,5);  
    foreach ($array as &amp;$value) {  
       $value=$value*2;  
    }  
    unset($value);  
    print_r($array);  
?&gt;
Salin selepas log masuk
Hasil output ialah:

Array ( [0] =&gt; 2 [1] =&gt; 4 [2] =&gt; 6 [3] =&gt; 8 [4] =&gt; 10 )
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Dalam kod di atas, kami menggunakan gelung foreach dan menetapkan rujukan setiap elemen tatasusunan kepada pembolehubah $ nilai, dan kemudian kami $value beroperasi, iaitu, mengubah nilai tatasusunan. Perlu diingatkan bahawa kami menggunakan unset untuk memusnahkan rujukan $value untuk mengelakkan masalah selepas gelung berakhir.

2. Gunakan fungsi array_map()

Fungsi array_map() juga merupakan cara yang baik untuk menukar nilai array. Ia menerima fungsi yang boleh menukar elemen array dan tatasusunan yang akan dikendalikan sebagai parameter Dan mengembalikan tatasusunan baharu, di mana setiap elemen tatasusunan baharu adalah hasil penggunaan fungsi pada tatasusunan asal.

Berikut ialah contoh:

&lt;?php  
    $array=array(1,2,3,4,5); 
    function double($a)  
    {  
        return $a*2;  
    }  
    $new_array=array_map(&quot;double&quot;,$array);  
    print_r($new_array);  
?&gt;
Salin selepas log masuk
Hasil output ialah:

Array ( [0] =&gt; 2 [1] =&gt; 4 [2] =&gt; 6 [3] =&gt; 8 [4] =&gt; 10 )
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Dalam kod di atas, kami mentakrifkan fungsi double(), yang digunakan untuk menukar nilai elemen tatasusunan, dan hantar fungsi ini kepada fungsi array_map() untuk beroperasi pada tatasusunan asal. Fungsi array_map() mengembalikan tatasusunan baharu dan menyimpannya dalam pembolehubah $new_array, dan kemudian kami mengeluarkan pembolehubah itu.

3. Gunakan fungsi array_walk()

Fungsi array_walk() juga merupakan cara yang baik untuk menukar nilai tatasusunan dan tatasusunan yang akan dikendalikan sebagai parameter Fungsi ini kemudiannya digunakan pada setiap elemen tatasusunan dan tatasusunan asal dikemas kini. Berikut ialah contoh:

&lt;?php  
    $array=array(1,2,3,4,5); 
    function double1(&amp;$a)  
    {  
        $a=$a*2;  
    }  
    array_walk($array,&quot;double1&quot;);  
    print_r($array);   
?&gt;
Salin selepas log masuk
Hasil keluarannya ialah:

Array ( [0] =&gt; 2 [1] =&gt; 4 [2] =&gt; 6 [3] =&gt; 8 [4] =&gt; 10 )
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Dalam kod di atas, kami mentakrifkan fungsi double1(), yang digunakan untuk menukar nilai elemen tatasusunan dan lulus fungsi Berikan fungsi array_walk() untuk beroperasi pada tatasusunan asal. Fungsi array_walk() mengemas kini nilai tatasusunan asal dan menyimpannya dalam pembolehubah $array, dan kemudian kami mengeluarkan pembolehubah. Perlu diingatkan bahawa parameter fungsi double1() diluluskan melalui rujukan, supaya nilai tatasusunan asal boleh dikemas kini.

Ringkasan

PHP menyediakan pelbagai kaedah untuk menukar nilai tatasusunan dalam gelung, termasuk untuk gelung, gelung foreach, fungsi array_map() dan fungsi array_walk(). Kaedah yang berbeza sesuai untuk senario aplikasi yang berbeza, dan anda perlu memilih mengikut keperluan sebenar. Dengan menggunakan kaedah ini secara fleksibel, pembangun boleh memproses data tatasusunan dengan lebih cekap.

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

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?

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?

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?

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

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?

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