【发布时间】:2018-09-15 09:10:09
【问题描述】:
我有一个带有这些 stop_id 的排序数组。
1, 6、 13, 18, 31,
我只想找到给定的第一个搜索值(6)在第二个给定值(31)之前。我尝试过这样的事情。这意味着查找顺序应该是,首先是 (6),然后是 (13),而不是 (13),然后是 (6)。
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;
我可以提供两个值。这里我只使用了第二个值(31)。有什么帮助???
【问题讨论】:
-
如果数组已排序,那么您不能检查它是否包含两个元素吗?最低的永远是第一。
-
@iainn 嘿.. 这些 1,6,13(根据以下答案)总是不一样。有时该数组可能看起来像 2,12,9,10.... 我只想知道我给定的第一个值是否为 6,是在我的第二个值 31 之前
-
所以数组没有排序?还是有两个数组?你的问题不是很清楚。
-
没有。我对数组进行排序以获得数字出现顺序。好的,请忽略该排序部分。我只想知道我给定的第一个值是否是(6),是在我的第二个值之前(31)
-
好的,那么你得到的答案有什么问题?这正是它的作用。