php中有兩種主要的數組類型: 關聯數組和索引數組。 關聯數組是一種將鍵(key)和值(value)融合在一起的數組類型,而索引數組是一種按順序排列并以數字為鍵的數組類型。在PHP中將關聯數組轉換為索引數組是一種常見的任務,本文將介紹如何實現。
假設有下面的關聯數組:
$person = array(
"name" => "John Smith",
"age" => 35,
"email" => "john@smith.com"
);
我們可以使用array_values()函數將這個關聯數組轉換為一個索引數組:
$values = array_values($person);
print_r($values);
輸出結果為:
Array
(
[0] => John Smith
[1] => 35
[2] => john@smith.com
)
我們可以看到,輸出結果與原始的關聯數組相似,但是所有的鍵都被省略了。如果你需要使用鍵(key)來索引數組值,則應該使用原始的關聯數組。
下面的代碼展示了使用循環遍歷一個關聯數組并打印出所有的鍵(key)和值(value):
foreach ($person as $key => $value) {
echo "Key=" . $key . ", Value=" . $value . "<br />";
}
輸出結果為:
Key=name, Value=John Smith
Key=age, Value=35
Key=email, Value=john@smith.com
當使用關聯數組的鍵(key)作為索引時,可以使用array_keys()函數和array_values()函數一起工作。下面的代碼展示了如何使用這兩個函數將一個關聯數組的鍵(key)轉換為索引:
$keys = array_keys($person);
$values = array_values($person);
$new_array = array();
for($i = 0; $i < count($keys); $i++)
{
$new_array[$i] = $person[$keys[$i]];
}
print_r($new_array);
輸出結果為:
Array
(
[0] => John Smith
[1] => 35
[2] => john@smith.com
)
在上面的代碼中,我們使用array_keys()函數將關聯數組的鍵(key)存儲在$keys數組中,然后使用array_values()函數將關聯數組的值(value)存儲在$values數組中。
在循環中,我們使用count()函數計算數組的長度,并使用$keys[$i]來訪問關聯數組的值(value)。然后,我們使用這個值作為新數組的索引,并將對應的值(value)存儲在新數組中。
在本文中,我們探討了如何將PHP的關聯數組轉換為索引數組。這是一個常見的任務,因為索引數組在某些情況下比關聯數組更實用。我們介紹了兩種實現方式:使用array_values()函數和使用array_keys()函數和循環。