Я хочу переместить все элементы, которые равны 4 до конца массива, сохраняя при этом порядок других элементов, так что в идеале мой результирующий массив be: < /p>
1, 2, 2, 3, 5, 2, 1, 4, 4
< /code>
Я думал, что смогу достичь этого, используя функцию сортировки: < /p>
uasort($arr, function($a, $b){
return $b == 4 ? -1 : 1;
});
< /code>
, который перемещает элементы «4» до конца, но разрушает порядок других элементов, это мой результат при вышеуказанном коде: < /p>
2, 3, 1, 2, 5, 2, 1, 4, 4
< /code>
Как должна выглядеть функция обработчика сортировки? /Есть ли лучший способ достичь этого, чем сортировка массива? < /P>
Примечание; Я хочу сохранить свои клавиши массива (отсюда uasort ()
Если у меня есть массив, как это (это может быть любая комбинация чисел): < /p> [code]$arr = array(1, 2, 4, 2, 3, 5, 4, 2, 1); [/code] Я хочу переместить все элементы, которые равны [b] 4 [/b] до конца массива, сохраняя при этом порядок других элементов, так что в идеале мой результирующий массив be: < /p> [code]1, 2, 2, 3, 5, 2, 1, 4, 4 < /code> Я думал, что смогу достичь этого, используя функцию сортировки: < /p> uasort($arr, function($a, $b){ return $b == 4 ? -1 : 1; }); < /code> , который перемещает элементы «4» до конца, но разрушает порядок других элементов, это мой результат при вышеуказанном коде: < /p> 2, 3, 1, 2, 5, 2, 1, 4, 4 < /code> Как должна выглядеть функция обработчика сортировки? /Есть ли лучший способ достичь этого, чем сортировка массива? < /P> Примечание; Я хочу сохранить свои клавиши массива (отсюда uasort () [/code])
У меня есть следующий массив, и он время от времени изменяется.
Array
(
=> For Sale
=> Sold
=> To Let
=> Let
=> Under Offer
=> Exchanged
=> Withdrawn
=> Acquired
)
Независимо от того, какова была начальная последовательность, но когда...
Я пытаюсь создать функцию, которая сдвигает значения массива вверх клавишу, если предыдущая клавиша пуста и одна после установки. Например. Этот массив:
array (size=4)
'row1' => string 'row1' (length=4)
'row2' => string '' (length=0)
'row3' =>...