PHPで繰り返しを用いて配列を表示していくプログラムを書いています。
以下プログラムです。
<?php $ar = array(); for($i = 0; $i < 10 ; $i++){ $num = mt_rand(0,1); $ar = $num; } foreach($ar as $value){ echo $value; } switch ( array_sum($ar) ){ case 1: $ar[5] = 1; $ar[0] = $ar[1] = $ar[2] = $ar[3] = $ar[4] = $ar[6] = $ar[7] = $ar[8] = $ar[9] = 0; break; case 2: $ar[5] = $ar[4] = 1; $ar[0] = $ar[1] = $ar[2] = $ar[3] = $ar[6] = $ar[7] = $ar[8] = $ar[9] = 0; break; case 3: $ar[3] = $ar[4] = $ar[5] = 1; $ar[0] = $ar[1] = $ar[2] = $ar[6] = $ar[7] = $ar[8] = $ar[9] = 0; break; case 4: $ar[5] = $ar[3] = $ar[4] = $ar[6] = 1; $ar[0] = $ar[1] = $ar[2] = $ar[7] = $ar[8] = $ar[9] = 0; break; case 5: $ar[5] = $ar[2] = $ar[3] = $ar[4] = $ar[6] = 1; $ar[0] = $ar[1] = $ar[7] = $ar[8] = $ar[9] = 0; break; case 6: $ar[5] = $ar[2] = $ar[3] = $ar[4] = $ar[6] = $ar[7] = 1; $ar[0] = $ar[1] = $ar[8] = $ar[9] = 0; break; case 7: $ar[5] = $ar[1] = $ar[2] = $ar[3] = $ar[4] = $ar[6] = $ar[7] = 1; $ar[0] = $ar[8] = $ar[9] = 0; break; case 8: $ar[0] = $ar[9] = 1; $ar[0] = $ar[1] = $ar[2] = $ar[3] = $ar[4] = $ar[6] = $ar[7] = $ar[8] = 0; break; default: } foreach($ar as $value){ echo $value; }
正直どこがまちがっているのかわかりません。
目標としては、最初のforeach文で、0,1の乱数が代入された配列の全ての要素を表示し、次のforeach文でswitch文で判定し並び替えた配列を表示したいです。
switch文の中は中央寄せを指定しする並び替えです。奇数の時は仕方なく片方に寄せています。
お願いします。
追記:switch文の中身をもっときれいにする方法はありますでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/19 08:56
2016/10/19 09:00
2016/10/19 09:26
2016/10/19 09:49
2016/10/19 23:53