學習目標:(1) 運用陣列變數 (2) 運用迴圈重複能力 (3) 加強運用陣列函數
新增檔案「test007.php」儲存到「ref」資料夾, 練習以下...
※ array_push( 陣列變數, 一個內容值 ) 將內容值加入到陣列變數中
<?php $result = array(); for( $i = 1; $i <= 10; $i++ ){ $num = rand( 1, 10 ); echo '第 '.$i.' 次抽到的是: '.$num.'<br>'; array_push($result, $num); } print_r($result); ?>
<?php $result = array(); $i = 1; do{ $num = rand( 1, 10 ); echo '第 '.$i.' 次抽到的是: '.$num.'<br>'; array_push($result, $num); $i++; }while( $i <= 10 ); print_r($result); ?>
※ in_array( 查詢的內容值, 陣列變數 ) 判斷指定的內容值是不是已經在陣列中
※ count( 陣列變數 ) 計算陣列變數中的數量
<?php $result = array(); $i = 1; //用來記錄抽號的次數 do{ $num = rand( 1, 30 ); if( $i > 1 ){ echo '<br>'; } echo '第 '.$i.' 次抽到的是: '.$num; //判斷抽到的是不是已經在陣列中, in_array( 要判斷的值, 陣列變數 ) if( !in_array( $num, $result) ){ array_push( $result, $num ); //不在陣列中就放入陣列中 echo '---沒有重複, 放入陣列變數'; } $i++; }while( count($result) < 10 ); //判斷陣列中是不是已經10票, 不是就再抽 echo '<br>'; print_r($result); //設定新的陣列變數, 接收排序後的陣列資料 $new_array = array(); asort($result); foreach( $result as $value ){ array_push($new_array, $value); } echo '<br>抽到的號碼遞增排序後是: '; foreach( $new_array as $key => $value ){ if( $key == 0 ){ echo $value; }else{ echo '、'.$value; } } echo '。'; ?>
<?php $result = array(); //運用 for 迴圈, 執行 10 次 for( $i = 1; $i <= 10; $i++ ){ $num = rand( 1, 30 ); if( $i > 1 ){ echo '<br>'; } echo '第 '.$i.' 次抽到的是: '.$num; //判斷抽到的是不是已經在陣列中, in_array( 要判斷的值, 陣列變數 ) if( in_array( $num, $result) ){ //如果抽到的號碼已在陣列中, 那麼這是無效號碼, 就讓這一圈不算 $i--; }else{ echo '---沒有重複, 放入陣列變數'; array_push( $result, $num ); //不在陣列中就放入陣列中 } } echo '<br>'; print_r($result); ?>