如何在php中对数组进行洗牌,切片然后重新排序?

时间:2012-02-19 10:29:50

标签: php shuffle slice

代码一直有效,直到我尝试使用asort函数对切片进行排序,然后在运行时我得到一个空白页面。有什么想法吗?

<?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 ";
}

?>

2 个答案:

答案 0 :(得分:4)

asort返回一个布尔值,而不是有序数组。它适用于关联数组。

使用普通sort函数(也返回一个布尔值,对数组“就地”排序)。

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

答案 1 :(得分:1)

asort()对数组进行排序并返回一个布尔值,因此结果位于$shufl

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

启用PHP错误报告,您将避免出现错误的空白页。