条件を満たす配列をインターセプトします
<br />$arr = Array<br />(<br /> 6 => Array<br /> (<br /> id=> 358<br /> level=> 6<br /> )<br /> 4=> Array<br /> (<br /> id => 354<br /> level => 4<br /> )<br /> 5 => Array<br /> (<br /> id => 353<br /> level => 5<br /> )<br />)<br />
ログイン後にコピー
適切な配列をインターセプトするための上記のような配列キー シーケンスがあります
キーが 6 としてソートされている場合は、上記の列のように前にあります。 、キーは 6、4、5 としてソートされます。
$arr = Array
(
6 => Array
(
) id=> 358
)}
配列が 5、4、6 にソートされている場合は、5 と 6 を取るだけです。
$arr = Array
(
5 => Array
(
id => 353
レベル => 5
)
6 => 配列
(
レベル => 6
)
)
4 が前に 4、5、6 としてソートされている場合、それらをすべて取り出して、
$arr = Array
(
4=> Array
(
) id => 354
レベル => 4
)
5 => 配列
(
id => 353
レベル = > 5 )
6 => 配列
(
id=> 358
level=> 6
)
)
4,5 個以上ある場合はどうなるか、6、7、8、9 の最適化はどうですか?
-----解決策----------------------
順序は 6,4 、 5 は 6 のみかかります (最初または最後のものを取ると考えることができます)
順序は 5, 4, 6 は 5 と 6 のみかかります (これは
順序は 4 になります。5 と 6 をすべて取るだけです (ルールは再び変更されました) あなたのような変更可能なルールでプログラムを書くことは不可能です
コードを与えていないので、最適化について話す方法はありません
-----ソリューションのアイデア------ --
これを確認すると、ルールは 1 つだけです。最初のデータのキーに従って、値
5、4、6 を取得します。最初のデータは 5 です。 5 より大きいもの (5 を含む)、つまり 5, 64, 5 , 6 を選択します。最初のものは 4、4 より大きいもの (4 を含む)、つまり 4, 5, 6
を選択します。 🎜>
そして、ループするときに最初のデータのキー値を記録し、毎回それを判断します。キーが最初の値より大きいかどうか、大きい場合はそれを記録します
。データが 7、8、9、またはそれ以上であっても、心配する必要はありません