ホームページ >バックエンド開発 >PHPチュートリアル >配列内の最も近い値を見つけるにはどうすればよいですか?

配列内の最も近い値を見つけるにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-26 21:49:14751ブラウズ

How to Find the Closest Value in an Array?

配列内の最も近い値の一致

値の配列とターゲット値が与えられた場合、一般的な要件は、最も近い一致する値を取得することです。配列内で。これは、不正確なデータを扱う場合、または完全一致が利用できない場合に特に役立ちます。

解決策:

最も近い一致値を決定するには、反復検索アルゴリズムを使用します。雇用することができる。このアプローチを実装する PHP 関数は次のとおりです。

function getClosest($search, $arr) {
    $closest = null;
    foreach ($arr as $item) {
        if ($closest === null || abs($search - $closest) > abs($item - $search)) {
            $closest = $item;
        }
    }
    return $closest;
}

この関数は、ターゲット値と配列内の各要素を反復的に比較することによって動作します。見つかった最も近い一致する値を追跡するために $closest 変数を維持します。比較ごとに、ターゲットと現在の配列要素の間の絶対差が計算されます。差が以前に記録された差よりも小さい場合は、$closest 変数が更新されます。

例:

提供されている例示的な配列の使用:

$array = [0, 5, 10, 11, 12, 20];

次の検索を実行できます:

  • getClosest(0, $配列); // 0
  • getClosest(3, $array); を返します。 // 5
  • getClosest(14, $array); を返します。 // 12 を返します

配列を反復処理して各要素を評価することにより、このアルゴリズムはターゲットに最も近い一致する値を効率的に見つけます。

以上が配列内の最も近い値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。