重新排列陣列例如我有以下代碼:PHP - 通過具體指標
$sample = array(apple, orange, banana, grape);
我想重新安排這個數組,通過使$sample[2]
新$sample[0]
,同時保持整個陣列的順序相同。
輸出應該是:
Array ([0] => banana [1] => grape [2] => apple [3] => orange)
重新排列陣列例如我有以下代碼:PHP - 通過具體指標
$sample = array(apple, orange, banana, grape);
我想重新安排這個數組,通過使$sample[2]
新$sample[0]
,同時保持整個陣列的順序相同。
輸出應該是:
Array ([0] => banana [1] => grape [2] => apple [3] => orange)
使用array_shift()
多次,因爲你需要...
$sample = array('apple', 'orange', 'banana', 'grape');
$fruit = array_shift($sample);
$sample[] = $fruit;
// now $sample will be array('orange', 'banana', 'grape', 'apple');
所以說,你想一個函數:
function rearrange_array($array, $key) {
while ($key > 0) {
$temp = array_shift($array);
$array[] = $temp;
$key--;
}
return $array;
}
現在,使用rearrange_array($sample, 2)
您可以重新排列樣本數組到您想要的輸出。
這就是我正在尋找:)有沒有辦法將它多次轉移?或者只是把它放在一個for循環我猜 – user2267898 2013-04-10 21:16:21
看功能! – 2013-04-10 21:16:37
美麗!非常感謝! – user2267898 2013-04-10 21:17:36
對不起,如此模糊,但如果這個數組的範圍從2水果到10水果的大小,我想從一個隨機索引重新排列這個數組。所以說數組有6個值,我想從第3個索引或第4個索引或隨機索引開始重新排列。 – user2267898 2013-04-10 21:13:55
我編輯了我的答案以包含一個函數。 – 2013-04-10 21:15:28