Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.8 kB
3
Indexable
Never
<?php

$arrayOfNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
// 5, 6, 7, 8, 9
// 5, 
// 6
// ,7

$x = 8;


function searchInArray(array &$numbers, $unknown)
{
    var_dump($numbers);
    if (sizeof($numbers) == 1) {

        if ($numbers[array_key_last($numbers)] == $unknown) {

            // die('here');
            return array_key_last($numbers);
        }
        // die('here');

        return 'paida nashod';
    }

    // if (sizeof($numbers) == 0) {
    //     return 'paida nashod';
    // }

    $pivot = array_key_first($numbers) + intval((array_key_first($numbers) + array_key_last($numbers)) / 2) +1;
    var_dump('pivot is '.$pivot);
    // die();

    if ($numbers[$pivot] > $unknown) {

        $startIndex = array_key_first($numbers);

        var_dump($pivot, $startIndex);
        die('if1');

        $endIndex = $pivot;
          $xx=array_slice(
                $numbers,
                $startIndex,
                $endIndex - $startIndex
          );

        return searchInArray(
                $xx
            // array_values(
          
            // )
            ,

            $unknown
        );
    } elseif ($numbers[$pivot] < $unknown) {

        $startIndex = $pivot;

        $endIndex = array_key_last($numbers);
        echo 'if2'.$endIndex.' '. $startIndex;
        var_dump($startIndex, $endIndex);
        // die();
        $t = array_slice(
            $numbers,
            $startIndex,
            $endIndex - $startIndex
        );
        return searchInArray(

            $t,

            $unknown
        );
    } elseif ($numbers[$pivot] == $unknown) {
        // die('here');
        var_dump( 'if3 '. $pivot);
        return $pivot;
    }
}

$result = searchInArray($arrayOfNumbers, $x);

echo $result;

echo PHP_EOL;