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.