ホーム › サンプルコード集 › PHP › 二分探索
PHP ALGORITHM

PHPで二分探索

ソート済み配列から目的の値を効率よく探す、二分探索(バイナリサーチ)の実装例です。コピペで動くコードと実行結果、処理の流れを確認できます。 下のコードはブラウザ内でそのまま実行できます。「実行エディタで開く」を押すと、progoのオンラインPHP実行環境にコードが読み込まれ、その場で動作を確認できます。

サンプルコード

$arr = [1, 3, 5, 7, 9, 11, 13];
$target = 9;
$low = 0;
$high = count($arr) - 1;
$result = -1;
while ($low <= $high) {
    $mid = intdiv($low + $high, 2);
    if ($arr[$mid] == $target) {
        $result = $mid;
        break;
    } elseif ($arr[$mid] < $target) {
        $low = $mid + 1;
    } else {
        $high = $mid - 1;
    }
}
echo "インデックス: " . $result . "\n";
▶ このコードを実行エディタで開く
progoのPHP実行環境(インストール不要・登録不要)でそのまま動かせます。

ポイント解説