配列内の重複した値を削除するには、foreach メソッドまたは array_unique メソッドを使用できます。次のコードでは両方のメソッドを使用します。
リーリー$intTotal が比較的小さい場合 (たとえば、1000 以内)、$intRand の値は基本的に結果に影響を与えず、両方の実行時間は同様になります。
$intTotal が 10000 より大きい場合、$intRand が 100 のとき、foreach ループの判定 $intRand=10 よりも array_unique を使用した効率が高く、両方の実行時間は同じです。
したがって、配列の容量が大きくない場合 (おそらく 1000 以内)、2 つを使用した場合の実行効率は同等であると結論付けることができます。
配列の容量が比較的大きい場合 (特定の値はテストしていません。興味があればこの値を決定できます)、$intRand が徐々に増加するにつれて、array_unique のパフォーマンスが向上します。$intTotal/ 比率の理由は使用しません。 $intRand の値は、比例して変化するようには感じられないという点で異なりますが、基本的には、比率が大きいほど array_unique のパフォーマンスが向上するということになります。
要約すると、配列内の重複する値をフィルタリングする場合は、array_unique を使用することをお勧めします。もちろん、array_unique を使用すると、コードが数行削減されます。配列の容量が大きすぎるので、関数のパフォーマンスが向上します。なぜ使用しないのでしょうか?