PHP ermittelt, ob die gleiche Zahl in zwei geordneten Arrays vorhanden ist Beispielcodeanalyse
<?php $len1 = sizeof($arr1); $len2 = sizeof($arr2); $flag = false; //用来退出外层循环 $start = 0; $counter = 0; for($i = 0; $i < $len1; $i++) { if($flag) { break; } // $start 记录上次循环到的索引 for($j = $start; $j < $len2; $j++) { if($arr2[$j] == $arr1[$i]) { echo 'find, ', $arr2[$j]; $flag = true; break; } // 用 $counter 来控制次数,当前内循环中仅记录一次 if($arr2[$j] > $arr1[$i] && $counter == 0) { $start = $j; $counter++; } } $counter = 0; //下一次循环开始,重置为0 }
Methode 2:
Idee: Legen Sie zunächst zwei Indizes fest, initialisieren Sie sie mit den Startadressen der beiden Arrays und gehen Sie der Reihe nach weiter. Die Vorwärtsregel besteht darin, die Zahlen in den beiden Arrays zu vergleichen, bis der Index eines Arrays das Ende des Arrays erreicht Dies bedeutet, dass der Index im Array keine identischen Zahlen enthält.
<?php $i = $j = 0; $len1 = count($arr1); $len2 = count($arr2); while($i < $len1 && $j < $len2) { if($arr1[$i] == $arr2[$j]) { echo 'find, ', $arr1[$i]; break; } if($arr1[$i] > $arr2[$j]) { $j ++; } else { $i ++; } }
Das obige ist der detaillierte Inhalt vonPHP ermittelt, ob in zwei geordneten Arrays dieselbe Zahl vorhanden ist. Beispielcode-Analyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!