У меня есть ниже массивамассива в ниже шаблоне
Array
(
[0] => Array
(
[ft_name] => workout
[days] => 2
)
[1] => Array
(
[ft_name] => restday
[days] =>
)
[2] => Array
(
[ft_name] => df
[days] => 3
)
[3] => Array
(
[ft_name] => df
[days] => 1
)
[4] => Array
(
[ft_name] => restday
[days] =>
)
[5] => Array
(
[ft_name] => ss
[days] => 6
)
[6] => Array
(
[ft_name] => reday
[days] => 5
)
)
Я хочу это в таком формате, как позиции массива, имеющий ft_name=>"restday"
должен оставаться таким же, а остальные должны быть отсортирован в порядке days
поля
Я пробовал с этим кодом, но результата не ожидается.
<?php
$size = count($val);
for($i=0;$i< $size;$i++){
if($val[$i]['days']){
for ($j=0; $j<$size-$i; $j++) {
if(!$val[$j+1]['days']) continue;
if ($val[$j+1]['days'] < $val[$j]['days']) {
swap($val, $j, $j+1);
}
}
}
else{
continue;
}
}
echo "<pre>"; print_r($val);
function swap(&$arr, $a, $b) {
$tmp = $arr[$a];
$arr[$a] = $arr[$b];
$arr[$b] = $tmp;
}
?>
Вывод должен быть похож на это один
Array
(
[0] => Array
(
[ft_name] => df
[days] => 1
)
[1] => Array
(
[ft_name] => restday
[days] =>
)
[2] => Array
(
[ft_name] => workout
[days] => 2
)
[3] => Array
(
[ft_name] => df
[days] => 4
)
[4] => Array
(
[ft_name] => restday
[days] =>
)
[5] => Array
(
[ft_name] => reday
[days] => 5
)
[6] => Array
(
[ft_name] => ss
[days] => 6
)
)
Спасибо заранее.
Это не код для бесплатного обслуживания, как вы бы знали, так что вы пробовали? – Darren
Вы пробовали 'array_multisort'? – David
try 'array_multisort' –