乱数は、rand(0, 3)とかで、0,1,2,3を出力できますが、
更新のたびに、一度でた乱数が生じないようにする工夫はどのようなものが考えられますか?
つまり、普通にやると、
0,1,2,3,2,2,2,1とかになりますが、これを、
3,1,2,0(終わり)等としたい。
元配列ごとshuffleで、
php
1<?php 2 3$file_name = "log.txt"; /*読込ファイルの指定*/ 4$log0 = file( $file_name ); /*ファイルを全て配列に入れる*/ 5 6for($i = 0 ; $i < count($log0); $i++){ 7$log1[$i] = explode(",",$log0[$i]); 8$log3[] = $i; 9} 10 11shuffle($log1); 12 13print_r($log1[0][0]); 14print_r($log1[0][1]); 15print_r($log1[0][2]); 16print_r($log1[0][3]); 17print_r($log1[1][0]); 18print_r($log1[1][1]); 19print_r($log1[1][2]); 20print_r($log1[1][3]); 21?>
とかで、上位配列のみshuffleとかできます?上位配列に順じて、下位配列は変えずに。
元の質問には「上位配列」という考え方がなかったですよね。質問ははじめから正確にお願いします。
その上で、「上位配列」とはどういう意味ですか?
[[1,2,3], [4,5,6], [7,8,9]]
を
[[4,5,6], [7,8,9], [1,2,3]]
のようにランダムにしたいということでしょうか?
そうです。
shuffleでできますかね?
回答2件
あなたの回答
tips
プレビュー