Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gabungan tatasusunan PHP menambah nilai medan

Gabungan tatasusunan PHP menambah nilai medan

王林
王林asal
2023-05-05 22:55:06635semak imbas

Dalam pengaturcaraan PHP, tatasusunan ialah salah satu jenis data yang biasa digunakan. Tatasusunan boleh digunakan untuk menyimpan dan mengurus data dengan mudah. Dalam beberapa pengaturcaraan sebenar, kita akan menghadapi situasi di mana kita perlu menggabungkan berbilang tatasusunan dan menambah atau mengubah suai beberapa medan di dalamnya. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menggabungkan tatasusunan dan menambah nilai pada beberapa medan di dalamnya.

1. Penggabungan Array

Dalam PHP, kita boleh menggunakan fungsi array_merge() untuk menggabungkan dua atau lebih tatasusunan. Penggunaan fungsi ini adalah seperti berikut:

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
$array3 = array_merge($array1, $array2);
print_r($array3);

Hasil pelaksanaan adalah seperti berikut:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)

Seperti yang dapat dilihat daripada hasilnya, $array3 dibentuk dengan menggabungkan $array1 dan $array2. Antaranya, nilai $array1 didahulukan dan nilai $array2 didahulukan. Perlu diingatkan bahawa jika dua tatasusunan mempunyai nama kunci yang sama, yang kedua akan menimpa yang pertama.

2. Tambahkan nilai pada medan tertentu tatasusunan

Selain menggabungkan tatasusunan, kita selalunya perlu mengubah suai nilai tertentu dalam tatasusunan. Dalam artikel ini, apa yang ingin kita capai ialah menambah nilai pada medan tertentu tatasusunan. Sebagai contoh, tambahkan jumlah medan gred pada tatasusunan pelajar. Katakan kita mempunyai dua tatasusunan pelajar berikut:

$student1 = array('name' => '张三', 'score1' => 80, 'score2' => 90);
$student2 = array('name' => '李四', 'score1' => 85, 'score2' => 95);

Sekarang kita ingin menambah jumlah medan gred, seperti berikut:

$student1['total'] = $student1['score1'] + $student1['score2'];
$student2['total'] = $student2['score1'] + $student2['score2'];

Ini menambah jumlah medan gred kepada dua tatasusunan pelajar. Kini anda boleh melihat keputusan dengan merentasi tatasusunan:

$students = array($student1, $student2);
foreach ($students as $student) {
    echo $student['name'] . "的总成绩是:" . $student['total'] . "<br/>";
}

Hasil yang dijalankan adalah seperti berikut:

张三的总成绩是:170
李四的总成绩是:180

3 Gabungkan tatasusunan yang digabungkan dan tambahkan nilai medan pada tatasusunan

Dengan dua bahagian di atas Gabungan pengetahuan boleh mencapai kesan yang ingin kita capai: menggabungkan tatasusunan dan menambah nilai pada beberapa medan di dalamnya.

Andaikan kita mempunyai tatasusunan pelajar dari dua kelas berikut:

$class1 = array($student1, $student2);
$class2 = array(
    array('name' => '王五', 'score1' => 90, 'score2' => 95),
    array('name' => '赵六', 'score1' => 85, 'score2' => 80)
);

Sekarang kita ingin menggabungkan tatasusunan dua kelas dan menambah jumlah medan gred kepada setiap pelajar. Kaedah pelaksanaan adalah seperti berikut:

// 合并两个班级的学生数组
$students = array_merge($class1, $class2);

// 遍历数组,给每个学生增加总成绩字段
foreach ($students as &$student) {
    $student['total'] = $student['score1'] + $student['score2'];
}

Perlu diambil perhatian bahawa apabila melintasi tatasusunan, anda perlu menggunakan rujukan & simbol, jika tidak, medan jumlah skor yang ditambahkan tidak akan disimpan dalam tatasusunan.

Kini anda boleh melintasi keseluruhan tatasusunan dan melihat keputusan:

foreach ($students as $student) {
    echo $student['name'] . "的总成绩是:" . $student['total'] . "<br/>";
}

Keputusan yang dijalankan adalah seperti berikut:

张三的总成绩是:170
李四的总成绩是:180
王五的总成绩是:185
赵六的总成绩是:165

Pada ketika ini, kami telah menggabungkan berbilang tatasusunan dan diberikan mereka Fungsi menambah nilai kepada medan tertentu. Kaedah ini boleh mengendalikan sejumlah besar data dengan mudah dan melakukan operasi yang pantas.

Atas ialah kandungan terperinci Gabungan tatasusunan PHP menambah nilai medan. 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