Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci dan analisis kes tatasusunan dua dimensi PHP

Penjelasan terperinci dan analisis kes tatasusunan dua dimensi PHP

PHPz
PHPzasal
2023-04-19 10:09:131603semak imbas

Dalam PHP, tatasusunan dua dimensi ialah jenis struktur data yang sangat biasa digunakan. Tatasusunan dua dimensi boleh mewakili jadual data, di mana setiap baris mewakili rekod data dan setiap lajur mewakili item data tertentu. Artikel ini akan menerangkan secara terperinci konsep dan penggunaan tatasusunan dua dimensi PHP, serta analisis kes yang digabungkan dengan pembangunan sebenar.

1. Apakah tatasusunan dua dimensi?

Dalam PHP, tatasusunan (Array) ialah jenis pembolehubah asas yang sangat biasa. Tatasusunan boleh menyimpan berbilang nilai, dan nilai ini boleh diakses dan diubah suai melalui subskrip tatasusunan. Tatasusunan dua dimensi merujuk kepada tatasusunan yang menyimpan berbilang tatasusunan, dan setiap tatasusunan bersarang mewakili baris data. Iaitu, tatasusunan mengandungi berbilang tatasusunan, dan setiap tatasusunan mengandungi berbilang nilai. Dengan analogi, kita boleh memahami tatasusunan berbilang dimensi sebagai tatasusunan yang mengandungi pelbagai tatasusunan dua dimensi.

Kaedah mengisytiharkan tatasusunan dua dimensi adalah sangat mudah Anda hanya perlu menambah satu set kurungan segiempat sama selepas nama pembolehubah tatasusunan. Contohnya:

$students = array(

array('name'=>'张三', 'score'=>85),
array('name'=>'李四', 'score'=>90),
array('name'=>'王五', 'score'=>80)

);

2. Penggunaan PHP array dua dimensi

  1. Akses elemen tatasusunan dua dimensi

Apabila mengakses elemen tatasusunan dua dimensi, anda perlu menentukan dua subskrip, subskrip pertama menunjukkan baris dan subskrip kedua menunjukkan lajur. Indeks mula dikira dari 0. Contohnya:

echo $students0; // Output: Zhang San

Dalam contoh di atas, $students[0] mewakili baris pertama keseluruhan jadual dan ['name'] Ia ialah data dalam lajur "Nama" dalam baris pertama. Oleh itu, kod mengeluarkan "Zhang San".

  1. Melintasi tatasusunan dua dimensi

Anda boleh menggunakan pernyataan gelung untuk melintasi tatasusunan dua dimensi, contohnya:

untuk($i =0;$i

echo $students[$i]['name'].'的成绩是:'.$students[$i]['score'].'
';

}

Apabila menggunakan pernyataan gelung untuk melintasi tatasusunan dua dimensi, anda perlu memberi perhatian kepada :

  • Pertama, kita perlu Traverse setiap baris tatasusunan dua dimensi (subskrip pertama
  • Kemudian, lintasi setiap lajur (subskrip kedua) dalam setiap baris untuk melengkapkan); akses kepada setiap elemen.

3. Analisis kes tatasusunan dua dimensi PHP

Berikut ialah beberapa kes aplikasi tatasusunan dua dimensi PHP yang mungkin ditemui dalam pembangunan sebenar. Melalui kes ini, kita boleh memahami dan menguasai penggunaan tatasusunan dua dimensi PHP dengan lebih intuitif.

  1. Statistik tentang gred semua orang

Andaikan terdapat tatasusunan dua dimensi yang merekodkan gred kelas Data adalah seperti berikut:

$pelajar = array(

array('name'=>'张三', 'score'=>85),
array('name'=>'李四', 'score'=>90),
array('name'=>'王五', 'score'=>80)

);

Kita perlu mengira keputusan semua orang dan mengeluarkannya ke halaman web. Keperluan ini boleh dicapai dengan melintasi tatasusunan:

untuk($i=0;$i

echo $students[$i][&#39;name&#39;].&#39;的成绩是:&#39;.$students[$i][&#39;score&#39;].&#39;<br>';</p>
<p>}</p>
<p>Hasil keluaran kod di atas ialah: </p>
<p>Skor Zhang San ialah: 85<br>Skor Li Si ialah: 90<br>Skor Wang Wu ialah: 80</p>
<ol start="2"><li> Skor purata Kelas Pengiraan</li></ol>
<p>Dalam kes pertama, kita sudah tahu cara melintasi tatasusunan dua dimensi Mengira skor purata kelas juga boleh dicapai dengan melintasi tatasusunan: </p>
<p>. $ jumlah_skor = 0;<br>untuk($i=0;$i<kiraan($pelajar);$i++) {</p><pre class="brush:php;toolbar:false">$total_score += $students[$i][&#39;score&#39;];

}
$avg_skor = $jumlah_skor / kiraan($ pelajar ; >
Isih dari tinggi ke rendah mengikut gred

Dalam kes kedua, kita sudah tahu cara mengira skor purata kelas. Kita boleh menggunakan kaedah ini untuk mengisih dari tinggi ke rendah mengikut gred. Isih dari tinggi ke rendah, kodnya adalah seperti berikut:

// Mula-mula hitung jumlah markah setiap pelajar dan susun mengikut jumlah markah
    untuk($i=0;$ i
}

untuk($i=0;$i


}

$students[$i][&#39;total_score&#39;] = $students[$i][&#39;score&#39;];
//Keluarkan hasil yang diisih

untuk($i=0;$i

for($j=0;$j<count($students)-1-$i;$j++) {
    if($students[$j][&#39;total_score&#39;] < $students[$j+1][&#39;total_score&#39;]) {
        $temp = $students[$j+1];
        $students[$j+1] = $students[$j];
        $students[$j] = $temp;
    }
}
}

Keluaran kod di atas Hasilnya ialah:


Li Si: 90 mata

Zhang San: 85 mata
echo $students[$i]['name'].':'.$students[$i]['score'].'分
';Wang Wu: 80 mata

Melalui perkara di atas kes, kita dapat melihat bahawa tatasusunan dua dimensi PHP Ia sangat fleksibel untuk digunakan dan boleh menyelesaikan pelbagai masalah praktikal dengan mudah. Dalam proses pembangunan sebenar, kita harus menggunakan lebih banyak tatasusunan dua dimensi PHP dan kaedah yang berkaitan untuk meningkatkan kecekapan pengaturcaraan dan kualiti kod kami.

Atas ialah kandungan terperinci Penjelasan terperinci dan analisis kes tatasusunan dua dimensi 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