例如:
$array = ("1", "2", "3", "4", "5");
现在我想对顶部的数字3进行排序,结果是:
$array = ("3", "1", "2", "4", "5");
如果您想对除一个之外的所有数组进行排序,请尝试以下操作:
function cmpToTop($a, $b){
if($a === '3') return -1; //Change comparison value
if($b === '3') return 1; //Change comparison value
if($a === $b) return 0;
return ($a < $b) ? -1 : 1;
}
$a = array('3', '2', '5', '6', '3', '1');
cmpToTop($a, "cmp"); //Result : array('3', '3', '1', '2', '5', '6')
在圆圈中移动时使用:
$array = array('1', '2', '3', '4', '5');
while($array[0] != '3')
array_push($array, array_shift($array));
您只需存储要放在顶部的数字
将每个数字向后移动一步;然后你把存储的号码放在第一位。
我希望有人能有更好的方法来做这件事,因为这似乎是一个简单的解决方法,但这个功能会起作用:
<?php
$arrayData = array(1, 2, 3, 4);
echo "<pre>"; print_r($arrayData); echo "</pre>";
$arrayData = moveToTop($arrayData, 2);
echo "<pre>"; print_r($arrayData); echo "</pre>";
function moveToTop($someArray, $key){
$tmp = $someArray[$key];
unset($someArray[$key]);
array_unshift($someArray, $tmp);
return array_values($someArray);
}
?>
结果是:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
Array
(
[0] => 3
[1] => 1
[2] => 2
[3] => 4
)
$a = ("1", "2", "3", "4", "5");
foreach($a as $k => $v)
{
if($v == 3)
{
array_unshift($a,$v);
unset($a[$k]);
}
}
print_r($a);
到目前为止,有关标准的信息有限。