2012-02-19 4 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に設定します。 –

答えて

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

関連する問題