2018-03-16

【PHP】陣列的探討

參考資料 ----
array_values

  1.  
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <?php
  8. // 當建立陣列時, 只填值, 則預設為以數字索引, 且陣列的第 1 個元素的索引值自動從 0 開始
  9. $array = array( 'M2--3030',
  10. '劉大鵰',
  11. 3000,
  12. '606',
  13. '高雄市前鎮區崗忠孝西路 119 號',
  14. '08-7234567',
  15. '20180103',
  16. '140404');
  17. print_r($array); // 列出陣列所有元素
  18. // 輸出結果: Array ( [0] => M2--3030 [1] => 劉大鵰 [2] => 3000 [3] => 606 [4] => 高雄市前鎮區崗忠孝西路 119 號 [5] => 08-7234567 [6] => 20180103 [7] => 140404 )
  19. echo '<br /><br />';
  20.  
  21. $array = array( 'M2--3030',
  22. '劉大鵰',
  23. 3000,
  24. 100 => '606',
  25. '高雄市前鎮區崗忠孝西路 119 號',
  26. '08-7234567',
  27. -9 => '20180103',
  28. '140404');
  29. print_r($array); // 列出陣列所有元素
  30. // 輸出結果: Array ( [0] => M2--3030 [1] => 劉大鵰 [2] => 3000 [100] => 606 [101] => 高雄市前鎮區崗忠孝西路 119 號 [102] => 08-7234567 [-9] => 20180103 [103] => 140404 )
  31. // 第 4 個元素給予數字索引 100, 之後的元素若未給予索引值, 𧦣元素的索引值就自動加 1
  32. // 可以看到, 即使在倒數第 2 個元素給予數字索引 -9, 最後 1 個元素沒指定索引值, 自動從最後的索引值 102 加 1, 變成 103
  33. echo '<br /><br />';
  34.  
  35. // 每個元素都指定數字索引
  36. $array = array( 0 => 'M2--3030',
  37. 1 => '劉大鵰',
  38. 3 => 3000,
  39. 5 => '606',
  40. 3 => '高雄市前鎮區崗忠孝西路 119 號', // 重覆指定索引值 3
  41. 2 => '08-7234567',
  42. 6 => '20180103',
  43. 7 => '140404');
  44. print_r($array); // 列出陣列所有元素
  45. // 輸出結果: Array ( [0] => M2--3030 [1] => 劉大鵰 [3] => 高雄市前鎮區崗忠孝西路 119 號 [5] => 606 [2] => 08-7234567 [6] => 20180103 [7] => 140404 )
  46. // 第 2 個重覆索引的元素不見了
  47. echo '<br /><br />';
  48.  
  49. // 通常, 從資料庫取撈出的記錄會是以欄位名稱為 key 值
  50. $array = array( 'member_id' => 'M2--3030',
  51. 'name' => '劉大鵰',
  52. 'nt' => 3000,
  53. 'zip_code_contact' => '606',
  54. 'address_contact' => '高雄市前鎮區崗忠孝西路 119 號',
  55. 'tel_contact' => '08-7234567',
  56. 'present_date' => '20180103',
  57. 'present_time' => '140404');
  58. print_r($array); // 列出陣列所有元素
  59. // 輸出結果: Array ( [member_id] => M2--3030 [name] => 劉大鵰 [nt] => 3000 [zip_code_contact] => 606 [address_contact] => 高雄市前鎮區崗忠孝西路 119 號 [tel_contact] => 08-7234567 [present_date] => 20180103 [present_time] => 140404 )
  60. echo '<br /><br />';
  61. echo 'array[0] ==>'.$array[0]; // 會顯示空白
  62. // 輸出結果: array[0] ==>
  63.  
  64. echo '<br /><br />';
  65. echo 'array[name] ==>'.$array['name'];
  66. // 輸出結果: array[name] ==>劉大鵰
  67. echo '<br /><br />';
  68.  
  69. $array2 = array_keys($array); // 將陣列的 key 索引 轉成數字索引
  70. echo 'array[0] key ==>'.$array2[0]; // 顯示第 0 個元素的 key 名稱
  71. // 輸出結果: array[0] key ==>member_id
  72. echo '<br /><br />';
  73.  
  74. $array2 = array_values($array); // 將陣列的 key 值 轉成以數字索引取值
  75. echo 'array[0] value ==>'.$array2[0]; // 顯示第 0 個元素的值
  76. // 輸出結果: array[0] value ==>M2--3030
  77. echo '<br /><br />';
  78. ?>
  79. </body>
  80. </html>
  81.