Я застрял) Есть два массива, $a
и $b
.Я хочу взять и "отсортировать" значения из $b
, чтобы получить $final
массив, подобный этому:
array:6 [
0 => [1 => 1]
1 => [1 => 3]
2 => [1 => 5]
3 => [2 => 7]
4 => [3 => 9]
5 => [3 => 11]
]
, но я получаю этот неправильный массив:
array:6 [
0 => [1 => 1]
1 => [1 => 3]
2 => [1 => 5]
3 => [2 => 1]
4 => [3 => 1]
5 => [3 => 3]
]
Код:
$final = [];
$c = 0;
$a = [3,1,2];
$b = [1,3,5,7,9,11];
foreach($a as $k => $v){
$c++;
foreach($b as $key => $val){
if($v > $key)
$final[] = [$c => $val];
}
}
dump($final);
Как определить, если оператор внутри foreach ($ b) для также проверяет, что $ key должен быть больше его предыдущего значения?Потому что я вижу, что неправильный массив по 3-му индексу берет первый элемент из $b
( .. 3 => [2 => 1] .. )
Пробовал разные подходы, но безуспешно.