2012-02-19 33 views
0

代碼有效,直到我嘗試使用asort函數對切片進行排序,然後當我運行此命令時,我只是得到一個空白頁面。有任何想法嗎?如何洗牌,切片,然後在PHP中重新排序數組?

<?php 
$arange = range(1 , 80, 1); 

shuffle($arange); 

$shufl = array_slice($arange, 0, 5); 

$sortshufl = asort($shufl, SORT_NUMERIC); 


foreach ($sortshufl as $number) { 

    echo "$number "; 
} 

?> 
+0

啓用錯誤報告並將其設置爲E_ALL,它應該告訴你什麼是錯的。 – 2012-02-19 10:32:43

回答

1

asort()排序到位數組,並返回一個布爾值,所以你的結果是$shufl

foreach($shufl as $number) { 
    echo "$number "; 
} 

啓用PHP錯誤報告,您將避免錯誤的空白頁面。

4

asort返回一個布爾值,而不是排序的數組。它意味着關聯數組。

使用普通的sort函數(也返回一個布爾值,將數組「排序」)。

sort($shufl, SORT_NUMERIC); 
foreach ($shufl as $number) { 
    echo "$number "; 
} 
+0

謝謝你們,我現在啓用了錯誤報告功能,而且我的代碼已修復:) – Dee1983 2012-02-19 10:49:03