WEB ◆ TS Library ◆ 熱衷分享 ◆ 享受教學相長 ◆ 無形的網絡擁有熱情溫度的傳遞

1-9. 陣列變數與陣列的迴圈

學習目標:(1) 索引式陣列的使用 (2) 關聯式陣列的使用 (3) 陣列迴圈的使用

認識索引式陣列變數

認識關聯式陣列變數

重複能力迴圈的練習題

新增檔案「test006.php」儲存到「ref」資料夾, 練習以下...

練習題1: 索引式陣列的使用

※ 使用陣列函數: array()、print_r()、array_push()

<?php
$a_array = array('000',100,200);  //設定索引式陣列 (字串加引號, 純數值不用加引號)
echo '<span>設定陣列變數:</span>';
print_r($a_array);                //輸出顯示陣列的內容值
 
array_push($a_array, 300);    //在陣列中加入新的值, 會排列在最後
echo '<br><span>加入新的值, 排在最後:</span>';
print_r($a_array);
 
$a_array[8] = 800;    //在陣列中指定新的索引號碼位置存入值, 會排列在最後
echo '<br><span>指定新的索引號碼[8]存入值, 排在最後:</span>';
print_r($a_array);
 
array_push($a_array, 500);    //在陣列中加入新的值, 會排列在最後
echo '<br><span>加入新的值, 排在最後:</span>';
print_r($a_array);
 
$a_array[2] = 222;    //在陣列中指定原有的索引號碼位置存入值, 會取代原有的值
echo '<br><span>指定原有的索引號碼[2]存入值, 取代原有的值:</span>';
print_r($a_array);
?>

練習題2: 關聯式陣列的使用

※ 使用陣列函數: array()、print_r()、asort()、arsort()

<?php
//設定關聯式陣列 array('label標籤名稱'=>'value內容值')
$b_array = array('Amy'=>'PHP', 'Mary'=>'WORD');
echo '<span>設定陣列變數:</span>';
print_r($b_array);             //輸出顯示陣列的內容值
 
//在陣列中指定標籤存入值, 會排列在最後
$b_array['Andy'] = 'EXCEL';
echo '<br><span>在陣列中指定標籤存入值, 排在最後:</span>';
print_r($b_array);
 
//依內容值遞增排序 asort(陣列變數名稱);
asort($b_array);
echo '<br><span>依內容值遞增排序的結果:</span>';
print_r($b_array); 
 
//依內容值遞減排序 arsort(陣列變數名稱);
arsort($b_array);
echo '<br><span>依內容值遞減排序的結果:</span>';
print_r($b_array); 
 
//依標籤名稱遞增排序 ksort(陣列變數名稱);
ksort($b_array);
echo '<br><span>依標籤名稱遞增排序的結果:</span>';
print_r($b_array); 
 
//依標籤名稱遞減排序 krsort(陣列變數名稱);
krsort($b_array);
echo '<br><span>依標籤名稱遞減排序的結果:</span>';
print_r($b_array); 
?>

練習題3: 今天星期幾?

<?php
date_default_timezone_set('Asia/Taipei');  //設定時區
$week = date('w');
print '今天是星期'.$week;    //print 雷同於 echo
 
$weekArray = array('日','一','二','三','四','五','六');  //設定陣列變數
echo '<br>';
print_r($weekArray);       //輸出陣列變數的內容值
echo '<br>';
echo '今天是星期'.$weekArray[$week];   //指定輸出 陣列名稱[指定的位置]
?>

練習題4: 依序顯示陣列變數的內容值

<?php
//PART-1 ----------------------------------------------
$result = '一週中有:';
 
//使用 foreach 迴圈, 在指定陣列中的資料逐項依序執行
//foreach ( 陣列名稱  as每一圈依以下變數對應  $key索引值 => $value內容值 )
foreach( $weekArray as $key => $value ){
  if( $key == 0 ){
    $result .= '星期'.$value;
  }else{
    $result .= '、星期'.$value;
  }
}
echo $result.'。<br>';
 
//PART-2 ----------------------------------------------
$str = '櫃子裡有:';
 
//使用 foreach 迴圈, 在指定陣列中的資料逐項依序執行
//foreach ( 陣列名稱  as每一圈依以下變數對應  $key索引值 => $value內容值 )
foreach( $b_array as $label => $value ){
  echo $label.$str.$value.' 的書。<br>';
}
?>

PHP 相關array陣列的介紹參考 (建議有空多逛逛多看看)

 

 

go TOP