配列内の文字列を見つけて、インデックスを返し、別の配列内のそのインデックスをチェックして、一致するかどうかを確認しようとしています (それぞれ配列内のオープン時間と一致するクローズ時間を探しています)。
文字列は に複数回出現する可能性があり、 と の両方で$openList
一致する時間のペアが見つかるまでチェックを停止すべきではありません。最初の出現のみを見つけるため、機能する効率的なループを作成するのに問題があります(これを異なる検索値で複数回実行します)。$openList
$closeList
array_search
これまでのところ、次のようなものがあります。
$openList = array("10:00", "9:00", "10:15", "9:00", "2:30");
$closeList = array("2:15", "5:30", "10:30", "10:00", "3:00");
$found_key = false;
while (($key = array_search("9:00", $openList)) !== NULL) {
if ($closeList[$key] == "10:00") {
$found_key = true;
echo "found it at position ".$key;
break;
}
}
if (!$found_key) echo "time doesn't exist";
どうすれば効率的に修正できますか?