Im vorherigen Artikel haben wir die Methode zur Verwendung des Blasenalgorithmus zum Sortieren der Array-Elemente in aufsteigender Reihenfolge vorgestellt. Wenn Sie interessiert sind, können Sie auf den Link klicken, um → „PHP-Array-Lernen: Verwenden des Blasenalgorithmus zum Sortieren“ zu lesen die Elemente in aufsteigender Reihenfolge!“ 》. Dieses Mal setzen wir die PHP-Array-Lernreihe fort und stellen die Methode vor, Array-Elemente zu vergleichen und den ersten und zweitgrößten Wert zu erhalten.
Das Thema dieses Artikels lautet: „Berechnen Sie bei einer gegebenen Reihe von Zahlen deren Maximal- und Zweitmaximumwerte.“
Implementierungsidee: Verwenden Sie ein Array, um diesen Satz von Zahlen zu umschließen, also müssen Sie die Größe der Array-Elemente vergleichen.
Setzen Sie zwei Variablen $max
und $secMax
, wird zum Speichern des Maximalwerts und des zweiten erhaltenen Maximalwerts verwendet. Sie müssen jedoch zunächst allen Anfangswerte zuweisen und ihnen das erste und das zweite Element des Arrays zuweisen. Stellen Sie jedoch sicher, dass $max
größer als $secMax
ist, also müssen Sie ein Urteil $max
和$secMax
,用于存放获取到的最大值和第二大值。不过需要先给大家赋初值,将数组第一个元素和第二个元素赋给它们。但要保证$max
比$secMax
大,所以要做一个判断
if ($arr[0] > $arr[1]){//这个if是为了防止出现数组第一个值就是最大值 $secMax = $arr[1]; } else if ($arr[0] < $arr[1]){ $max = $arr[1]; }
然后使用for循环,不断遍历$arr数组。【不懂的可以阅读文章《PHP循环学习三:如何使用for循环语句遍历数组》】
for ($i = 0;$i< count($arr);$i++){ //循环数组 //循环体 }
在循环体中,不断将$max
、$secMax
与数组每个值($arr[$i]
)比较:
如果$arr[$i]
比$max
大,则将$max
值赋给$secMax
,把$arr[$i]
赋给$max
,
if ($arr[$i] > $max){ $secMax = $max; $max = $arr[$i]; }
而如果 $arr[$i]
小于 $max
,但 $arr[$i]
又大于 $secMax
,则只交换 $secMax
和 $arr[$i]
间的值 ,将$arr[$i]
复制给$secMax
if ($arr[$i] < $max && $arr[$i] > $secMax){ $secMax = $arr[$i]; }
$arr[$i]
größer ist als $max
, dann weisen Sie $max
den Wert $secMax
zu, weisen Sie $arr[$i]
zu code>$max,
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; }
$arr[$i]
kleiner ist als $max
, aber < code>$arr[$i] ist größer als $secMax
, dann nur $secMax
und < code>$arr[$i] werden Werte ausgetauscht, kopieren Sie $arr[$i]
nach $secMax
. $arr = array(555,5,1,429,18,21,52,2,52,9,3,); takeNum($arr);
Durch einen kontinuierlichen Vergleich auf diese Weise kann sichergestellt werden, dass $max den Maximalwert des Arrays und $secMax den zweitgrößten Wert des Arrays speichert.
Sehen wir uns den vollständigen Implementierungscode an:
if (判断条件) { 语句块; }
if (判断条件) { 语句块 1; } else { 语句块 2; }
Es ist ersichtlich, dass der erste größte Wert 555 ist , und der erste Der zweitgrößte Wert ist 429; prüfen Sie, ob das Ausgabeergebnis wie folgt lautet:
OK, das Ausgabeergebnis ist korrekt. Lassen Sie uns als Nächstes über die verwendeten Wissenspunkte sprechen. Über Schleifen müssen Sie nicht mehr sprechen (Sie können den Artikel „Zusammenfassung der PHP-Loop-Lernserie“ lesen). Lassen Sie uns eine kurze Einführung in die if else-Anweisung geben. if else-Anweisung ist eine Art der Ausführung, die auf einer bedingten Beurteilung in der Prozesssteuerung basiert. Wenn diese Anweisung ausgeführt wird, wird zunächst die Bedingung beurteilt und dann wird basierend auf dem Beurteilungsergebnis die entsprechende Operation ausgeführt. Es kann in drei Typen unterteilt werden, nämlich if-Anweisung, if...else-Anweisung, if...else if...else-Anweisung. Die Syntax der if-Anweisung:if (判断条件 1) { 语句块 1; } else if (判断条件 2) { 语句块 2; } else if (判断条件 3) { 语句块 3; } ......
rrreeeOkay, das ist alles Wenn Sie weitere Ideen haben, können Sie hier klicken. → →php-Video-Tutorial
🎜🎜Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays: 🎜PHP-Funktions-Array-Array-Funktions-Video-Erklärung🎜, kommen Sie und lernen Sie! 🎜Das obige ist der detaillierte Inhalt vonPHP-Array-Lernen: Array-Elemente vergleichen und den ersten und zweitgrößten Wert ermitteln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!