我有一个值,并比较我想更改数组的顺序
例如。这里3是值,所以我需要数组订单
5,6,1,2
因此,值少于3个阵列中的3个移动。
<?php
$value=3;
$array=array(6,2,5,1);
asort($array);
print_r($array);
?>
请查看以下代码,它可能会为您提供帮助。您需要将Array_filter与回电功能一起制作2个数组,然后您可以合并它们。
$value=3;
$array=array(6,2,5,1);
asort($array);
$right = array_filter($array, function($elem) use($value){
return $elem < $value;
});
$left = array_filter($array, function($elem) use($value){
return $elem > $value;
});
//print_r($right);
//print_r($left);
$res = array_merge($left,$right);
print_r($res);
<?php
$value=3;
$output = $array;
foreach ($array as $k => $v) {
if ($value >= $v) {
unset($output[$k]);
$output[] = $v;
}
}
var_dump($output);
我使用了循环,看看它是否对您有帮助:
foreach ($array as $ele){
if($ele < $value){
$rightArr[] = $ele;
}else{
$output[] = $ele;
}
}
echo "<pre>";
print_r(array_merge($output,$rightArr));