Как перемешать, нарезать и затем изменить порядок массива в php? - PullRequest
0 голосов
/ 19 февраля 2012

Код работает до тех пор, пока я не попытаюсь упорядочить срез с помощью функции 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 ]

4 голосов
/ 19 февраля 2012

asort возвращает логическое значение, а не отсортированный массив. И он предназначен для ассоциативных массивов.

Используйте обычную функцию sort (также возвращает логическое значение, сортирует массив «на месте»).

sort($shufl, SORT_NUMERIC);
foreach ($shufl as $number) {
    echo "$number ";
}
1 голос
/ 19 февраля 2012

asort() сортирует массив на месте и возвращает логическое значение, поэтому ваш результат находится в $shufl.

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

Включите отчеты об ошибках PHP, и вы избежите пустых страниц об ошибках.

...