PHP数组找到两个数字是一个接一个

I have a sorted array with these stop_ids.

1, 6, 13, 18, 31,

I just want to find given first search value(6) is before the second given value(31). I tried something like this. That means the find order should be, first (6) then (13) not (13) first and (6) then.

foreach ($parent_array as $key => $value) {
    $k = $key;
    sort($routes); //another array with above values(stop_ids)
    $st = 0;
    foreach ($routes as $key => $value) {
       if($st == 1){
         unset($parent_array[$k]);
         break;    
       }
       elseif($value->stop_id == 31){
         $st = 1;
         continue;
       }
    }
}
return $parent_array;

I can provide two values. Here I used second value(31) only. Any help ???

Get array keys, under which is every number is located and compare this keys:

function firstNumberFirst($array, $first_number, $second_number) 
{
    return array_search($first_number, $array) < array_search($second_number, $array);
}

$a = [1, 6, 13, 18, 31];     
var_dump(
    firstNumberFirst($a, 6, 13),
    firstNumberFirst($a, 6, 18),
    firstNumberFirst($a, 13, 6)
);

If array is not zero-indexed - apply array_values first.