Rumah > pembangunan bahagian belakang > masalah PHP > penukaran gelung tatasusunan php

penukaran gelung tatasusunan php

王林
Lepaskan: 2023-05-19 20:00:47
asal
699 orang telah melayarinya

Dalam pengaturcaraan PHP, tatasusunan ialah salah satu struktur data yang paling biasa. Tatasusunan membolehkan kami menyimpan, menyusun dan mengakses sejumlah besar data berkaitan. Dalam banyak kes, kita perlu melakukan satu siri operasi pada tatasusunan, seperti mencari, menyusun, menapis, dsb. Antaranya, penukaran gelung tatasusunan ialah operasi yang agak penting Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP untuk melaksanakan penukaran gelung tatasusunan.

1. Struktur asas gelung tatasusunan

Dalam PHP, kita boleh menggunakan pernyataan gelung for, foreach dan lain-lain untuk menggelungkan melalui tatasusunan. Berikut ialah struktur asas gelung for:

for ($i = 0; $i < count($array); $i++) {
  // do something with $array[$i]
}
Salin selepas log masuk

Kesan yang sama boleh dicapai menggunakan pernyataan foreach:

foreach ($array as $value) {
  // do something with $value
}
Salin selepas log masuk

2. Kaedah penukaran tatasusunan

Dalam PHP, we Tatasusunan boleh ditukar dalam dua cara berikut:

  1. Menggunakan fungsi tatasusunan

PHP menyediakan sejumlah besar fungsi untuk melaksanakan pelbagai operasi pada tatasusunan, sebahagian daripadanya Boleh digunakan untuk menukar tatasusunan. Berikut ialah beberapa fungsi yang biasa digunakan:

  • array_map(): menggunakan fungsi panggil balik untuk setiap elemen dalam tatasusunan dan mengembalikan tatasusunan baharu
  • array_filter(): menggunakan fungsi panggil balik Tapis elemen dalam tatasusunan dan kembalikan tatasusunan baharu
  • array_reduce(): Kurangkan tatasusunan kepada satu nilai dan kembalikan nilai itu

Berikut ialah penggunaan array_map() fungsi Contoh menduakan setiap elemen dalam tatasusunan:

$array = array(1, 2, 3, 4, 5);
$new_array = array_map(function($x){ return $x * $x; }, $array);
print_r($new_array);
Salin selepas log masuk

Outputnya ialah:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)
Salin selepas log masuk
Salin selepas log masuk

Perhatikan bahawa apabila menggunakan fungsi array_map(), kita perlu menghantar fungsi panggil balik sebagai parameter. Fungsi panggil balik ini mengambil satu hujah (nilai setiap elemen) dan mengembalikan nilai untuk menggantikan elemen.

  1. Menggunakan struktur gelung

Kita boleh menggelung melalui tatasusunan dan menukarnya melalui penyataan untuk atau foreach. Berikut ialah contoh menggunakan elemen gelung for ke segi empat sama dalam tatasusunan:

$array = array(1, 2, 3, 4, 5);
$new_array = array();
for ($i = 0; $i < count($array); $i++) {
  $new_array[] = $array[$i] * $array[$i];
}
print_r($new_array);
Salin selepas log masuk

Hasil keluarannya juga:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)
Salin selepas log masuk
Salin selepas log masuk

3 Operasi penukaran kelompok

Andaikan kita mempunyai tatasusunan dua dimensi dengan data seperti berikut:

$data = array(
  array('name' => '张三', 'age' => 19, 'gender' => '男'),
  array('name' => '李四', 'age' => 21, 'gender' => '女'),
  array('name' => '王五', 'age' => 20, 'gender' => '男'),
);
Salin selepas log masuk

Sekarang kita perlu menukarnya kepada format berikut:

$new_data = array(
  array('姓名' => '张三', '年龄' => 19, '性别' => '男'),
  array('姓名' => '李四', '年龄' => 21, '性别' => '女'),
  array('姓名' => '王五', '年龄' => 20, '性别' => '男'),
);
Salin selepas log masuk

Kita boleh menggunakan gelung foreach untuk mencapai operasi ini:

$new_data = array();
foreach ($data as $values) {
  $new_data[] = array('姓名' => $values['name'], '年龄' => $values['age'], '性别' => $values['gender']);
}
print_r($new_data);
Salin selepas log masuk

Keluarkan keputusan Seperti berikut:

Array
(
    [0] => Array
        (
            [姓名] => 张三
            [年龄] => 19
            [性别] => 男
        )

    [1] => Array
        (
            [姓名] => 李四
            [年龄] => 21
            [性别] => 女
        )

    [2] => Array
        (
            [姓名] => 王五
            [年龄] => 20
            [性别] => 男
        )

)
Salin selepas log masuk

4. Nota

  1. Tatasusunan asal tidak akan diubah

Dalam PHP, operasi penukaran gelung biasanya menjana tatasusunan baharu tanpa mengubah tatasusunan asal. Oleh itu, berhati-hati harus diambil untuk tidak mengubah nilai tatasusunan asal semasa beroperasi.

  1. Fungsi panggil balik

Apabila menggunakan fungsi tatasusunan untuk penukaran, kita perlu menghantar fungsi panggil balik sebagai parameter. Jika fungsi panggil balik perlu mengakses beberapa pembolehubah luaran, anda perlu menggunakan penutupan untuk menentukan fungsi panggil balik untuk memastikan ia boleh mengakses pembolehubah luaran dengan betul.

  1. Indeks tatasusunan

Dalam operasi penukaran gelung, kita perlu memberi perhatian kepada indeks tatasusunan. Jika kita tidak menyatakan secara eksplisit indeks tatasusunan baharu, PHP akan secara automatik menetapkan nilai indeks, biasanya bermula dari 0 dan meningkat.

5. Ringkasan

Tatasusunan dalam PHP ialah struktur data yang sangat berguna, dan penukaran gelung adalah operasi yang sangat penting di kalangan mereka. Kita boleh gunakan untuk, untuk setiap struktur gelung, atau fungsi tatasusunan seperti peta_tatasusunan,penapis_tatasusunan,pengurangan_tatasusunan, dll. untuk mencapai penukaran tatasusunan. Semasa operasi, anda perlu berhati-hati untuk tidak mengubah nilai tatasusunan asal, dan anda perlu memberi perhatian kepada indeks tatasusunan. Saya harap artikel ini dapat membantu pembaca menguasai penukaran gelung tatasusunan dalam PHP.

Atas ialah kandungan terperinci penukaran gelung tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan