Dalam artikel sebelum ini, kami memperkenalkan kaedah menggunakan algoritma gelembung untuk mengisih elemen tatasusunan dalam tertib menaik Jika anda berminat, anda boleh klik pada pautan untuk membaca → " Pembelajaran Tatasusunan PHP: Menggunakan. Algoritma Buih untuk Isih Elemen dalam Susunan Menaik ! 》. Kali ini kami meneruskan siri pembelajaran tatasusunan PHP dan memperkenalkan kaedah membandingkan elemen tatasusunan dan mendapatkan nilai pertama dan kedua terbesar.
Tema artikel ini ialah: "Diberi satu set nombor, hitung nilai maksimum dan kedua maksimumnya".
Idea pelaksanaan: Gunakan tatasusunan untuk membalut set nombor ini, jadi ini akan melibatkan perbandingan saiz elemen tatasusunan
Tetapkan dua pembolehubah $max
dan $secMax
, digunakan untuk menyimpan nilai maksimum dan nilai maksimum kedua yang diperolehi. Walau bagaimanapun, anda perlu memberikan nilai awal kepada semua orang terlebih dahulu, memberikan elemen pertama dan elemen kedua tatasusunan kepada mereka. Tetapi pastikan $max
lebih besar daripada $secMax
, jadi anda perlu membuat pertimbangan
if ($arr[0] > $arr[1]){//这个if是为了防止出现数组第一个值就是最大值 $secMax = $arr[1]; } else if ($arr[0] < $arr[1]){ $max = $arr[1]; }
dan kemudian gunakan gelung for untuk terus melintasi tatasusunan $arr. [Jika anda tidak faham, anda boleh membaca artikel "Pembelajaran Gelung PHP 3: Cara menggunakan pernyataan gelung untuk merentasi tatasusunan "]
for ($i = 0;$i< count($arr);$i++){ //循环数组 //循环体 }
Dalam badan gelung, teruskan menambah $max
, $secMax
Bandingkan dengan setiap nilai ($arr[$i]
) tatasusunan:
Jika $arr[$i]
lebih besar daripada $max
, tetapkan $max
nilai kepada $secMax
dan letakkan $arr[$i]
Ditugaskan kepada $max
,
if ($arr[$i] > $max){ $secMax = $max; $max = $arr[$i]; }
dan jika $arr[$i]
kurang daripada $max
, tetapi $arr[$i]
lebih besar daripada $secMax
, kemudian hanya Tukar nilai antara $secMax
dan $arr[$i]
, salin $arr[$i]
ke $secMax
.
if ($arr[$i] < $max && $arr[$i] > $secMax){ $secMax = $arr[$i]; }
Dengan meneruskan membandingkan seperti ini, anda boleh memastikan $max menyimpan nilai maksimum tatasusunan dan $secMax menyimpan nilai kedua terbesar tatasusunan.
Mari kita lihat kod pelaksanaan lengkap:
function takeNum($arr){ //定义了两个变量$max和$secMax来存放最大和第二大的数值 $max = $arr[0]; $secMax = $arr[0]; if ($arr[0] > $arr[1]){//这个if是为了防止出现数组第一个值就是最大值 $secMax = $arr[1]; } else if ($arr[0] < $arr[1]){ $max = $arr[1]; } for ($i = 0;$i< count($arr);$i++){//循环数组 if ($arr[$i] > $max){ $secMax = $max; $max = $arr[$i]; } else if ($arr[$i] < $max && $arr[$i] > $secMax){ $secMax = $arr[$i]; } } echo "最大值为".$max.",第二大值为".$secMax; }
Uji: tentukan tatasusunan berikut, panggil fungsi takeNum($arr) untuk melihat output
$arr = array(555,5,1,429,18,21,52,2,52,9,3,); takeNum($arr);
Ia boleh dilihat bahawa nilai maksimum pertama ialah 555 dan nilai maksimum kedua ialah 429; lihat jika hasil output adalah ini:
OK; , output Hasilnya betul.
Seterusnya, mari kita bercakap tentang mata pengetahuan yang digunakan Tidak perlu bercakap lebih lanjut tentang gelung (anda boleh membaca artikel " Ringkasan Siri Pembelajaran Gelung PHP" Mari kita perkenalkan secara ringkas kepada anda jika lain kenyataan.
Pernyataan if else ialah sejenis pelaksanaan berdasarkan pertimbangan bersyarat dalam kawalan proses. Apabila penyataan ini dilaksanakan, syarat pertama kali dinilai, dan kemudian operasi yang sepadan dibuat berdasarkan keputusan penghakiman. Ia boleh dibahagikan kepada tiga jenis iaitu pernyataan if, if...else statement, if...else if...else statement.
Sintaks pernyataan if:
if (判断条件) { 语句块; }
Sintaks pernyataan if...else:
if (判断条件) { 语句块 1; } else { 语句块 2; }
if...else if...else Penyata Tatabahasa:
if (判断条件 1) { 语句块 1; } else if (判断条件 2) { 语句块 2; } else if (判断条件 3) { 语句块 3; } ......
Itu sahaja jika anda ingin mengetahui lebih lanjut, anda boleh klik ini. → →Tutorial video php
Akhir sekali, saya mengesyorkan tutorial video percuma tentang tatasusunan PHP: Penjelasan video fungsi tatasusunan fungsi PHP, datang dan pelajari!
Atas ialah kandungan terperinci Pembelajaran tatasusunan PHP: Bandingkan elemen tatasusunan dan dapatkan nilai pertama dan kedua terbesar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!