【PHP】陣列的探討

參考資料 ----
array_values

 
<html>
<head>
<meta charset="UTF-8"> 
</head>
<body>
<?php
// 當建立陣列時, 只填值, 則預設為以數字索引, 且陣列的第 1 個元素的索引值自動從 0 開始
$array = array( 'M2--3030',
                '劉大鵰',
                3000,
                '606',
                '高雄市前鎮區崗忠孝西路 119 號',
                '08-7234567',
                '20180103',
                '140404');
print_r($array);    // 列出陣列所有元素
// 輸出結果: Array ( [0] => M2--3030 [1] => 劉大鵰 [2] => 3000 [3] => 606 [4] => 高雄市前鎮區崗忠孝西路 119 號 [5] => 08-7234567 [6] => 20180103 [7] => 140404 ) 
echo '<br /><br />';

$array = array( 'M2--3030',
                '劉大鵰',
                3000,
                100 => '606',
                '高雄市前鎮區崗忠孝西路 119 號',
                '08-7234567',
                -9 => '20180103',
                '140404');
print_r($array);    // 列出陣列所有元素
// 輸出結果: Array ( [0] => M2--3030 [1] => 劉大鵰 [2] => 3000 [100] => 606 [101] => 高雄市前鎮區崗忠孝西路 119 號 [102] => 08-7234567 [-9] => 20180103 [103] => 140404 ) 
// 第 4 個元素給予數字索引 100, 之後的元素若未給予索引值, 𧦣元素的索引值就自動加 1
// 可以看到, 即使在倒數第 2 個元素給予數字索引 -9, 最後 1 個元素沒指定索引值, 自動從最後的索引值 102 加 1, 變成 103
echo '<br /><br />';

// 每個元素都指定數字索引
$array = array( 0 => 'M2--3030',
                1 => '劉大鵰',
                3 => 3000,
                5 => '606',
                3 => '高雄市前鎮區崗忠孝西路 119 號',   // 重覆指定索引值 3
                2 => '08-7234567',
                6 => '20180103',
                7 => '140404');
print_r($array);    // 列出陣列所有元素
// 輸出結果: Array ( [0] => M2--3030 [1] => 劉大鵰 [3] => 高雄市前鎮區崗忠孝西路 119 號 [5] => 606 [2] => 08-7234567 [6] => 20180103 [7] => 140404 ) 
// 第 2 個重覆索引的元素不見了
echo '<br /><br />';

// 通常, 從資料庫取撈出的記錄會是以欄位名稱為 key 值
$array = 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');
print_r($array);    // 列出陣列所有元素
// 輸出結果: 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 ) 
echo '<br /><br />';
echo 'array[0] ==>'.$array[0];  // 會顯示空白
// 輸出結果: array[0] ==>

echo '<br /><br />';
echo 'array[name] ==>'.$array['name'];
// 輸出結果: array[name] ==>劉大鵰
echo '<br /><br />';

$array2 = array_keys($array);       // 將陣列的 key 索引 轉成數字索引
echo 'array[0] key ==>'.$array2[0]; // 顯示第 0 個元素的 key 名稱
// 輸出結果: array[0] key ==>member_id
echo '<br /><br />';

$array2 = array_values($array);         // 將陣列的 key 值 轉成以數字索引取值
echo 'array[0] value ==>'.$array2[0];   // 顯示第 0 個元素的值
// 輸出結果: array[0] value ==>M2--3030
echo '<br /><br />';
?>
</body>
</html>