0
我正在嘗試在循環中交換顯示順序。
例如,我有一個數組$array
,其值爲1,2,3,4,5
,並且想要以2,1,3,4,5
的順序顯示結果。 我使用下面的代碼爲宗旨,這爲我工作:在循環中交換顯示順序
<?php
$array = array(
1,
2,
3,
4,
5,
);
$tempArray = array();
$count = 1;
foreach($array as $key => $value){
$tempArray[$key] = $value;
if(in_array($count, array(1, 2))){
if($count == 2){
echo $tempArray[1] . '<br />';
echo $tempArray[0] . '<br />';
}
}else{
echo $value . '<br />';
}
$count++;
}
但我想知道是否有這樣做的任何有效的(更好)的方式?
編輯:
$array = array(
1,
2,
3,
4,
5,
);
//Either
/*$temp = $array[1];
$array[1] = $array[0];
$array[0] = $temp;*/
//OR
list($array[1], $array[0]) = array($array[0], $array[1]);
foreach($array as $key => $value){
echo $value . '<br />';
}
無論哪種方式工作得很好用最少的代碼。
謝謝你們!
'1,2,3,4,5,6,7,8,9,10'應該輸出什麼? – Engineer 2012-07-18 18:45:17
是否沒有其他可以添加到條目的'排序'字段,即'array(array(1,2),array(2,1),...)'然後你可以使用'usort'來做? – 2012-07-18 18:46:23
您使用什麼標準重新排列數組?你總是交換第一和第二元素?如果是這樣,爲什麼不交換數組中的元素? '$ temp = $ array [1]; $ array [1] = $ array [0]; $ array [0] = $ temp;'? – 2012-07-18 18:53:29