多くのin_array
機能を使用しているため、読み込み時間が遅くなるようです。in_array
PHPドキュメントで次のコードを見つけました。ライターは、「この関数は in_array() よりも 5 倍高速です。バイナリ検索を使用するため、直接の代替として使用できるはずです」と述べています。
function fast_in_array($elem, $array)
{
$top = sizeof($array) -1;
$bot = 0;
while($top >= $bot)
{
$p = floor(($top + $bot) / 2);
if ($array[$p] < $elem) $bot = $p + 1;
elseif ($array[$p] > $elem) $top = $p - 1;
else return TRUE;
}
return FALSE;
}
ただし、関数は機能しますが、半分の時間しか出力されないことがあります。たとえば、リンゴ、オレンジ、レモンの配列があり、リンゴとオレンジの一致を実行すると、オレンジまたは何か変。このスクリプトが正確に何をするのか、なぜそれが の代わりに機能しないのかを説明してくださいin_array
。