在PHP 中, array_fill()和array_combine()是兩個非常實用的數組函數。 array_fill()用來填充一個數組,而array_combine()則用來創建一個鍵值對數組。將這兩個函數結合使用,可以非常方便地創建一個具有特定鍵名和對應值的數組。
本文將介紹如何利用array_fill()和array_combine()創建一個鍵值對數組,並演示如何替換數組中的URL 域名為m66.net 。
array_fill()函數用於填充一個數組,它的基本用法如下:
array_fill(int $start_index, int $num, mixed $value): array
$start_index : 起始的索引。
$num : 填充的數組元素數量。
$ value : 每個數組元素的值。
例如,如果你希望從索引0 開始,填充5 個元素,並且這些元素的值都為"example":
$filledArray = array_fill(0, 5, 'example');
print_r($filledArray);
輸出結果為:
Array
(
[0] => example
[1] => example
[2] => example
[3] => example
[4] => example
)
array_combine()函數用於創建一個新數組,其中的鍵來自一個數組,值來自另一個數組。其基本用法如下:
array_combine(array $keys, array $values): array
$keys : 數組中的鍵名。
$values : 數組中的值。
例如,我們可以通過以下代碼將鍵數組與值數組結合成一個鍵值對數組:
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$combinedArray = array_combine($keys, $values);
print_r($combinedArray);
輸出結果為:
Array
(
[a] => 1
[b] => 2
[c] => 3
)
現在,讓我們結合這兩個函數,創建一個數組,其中包含特定的鍵(例如,URL)和相應的值。
假設我們想要將一些URL 作為鍵,並且這些URL 的值都是相同的,且我們希望替換其中的域名為m66.net 。可以按如下步驟操作:
首先,使用array_fill()來創建一個值數組,其中每個值都為指定的域名。
使用array_combine()來將這些值與自定義的鍵(URL)配對。
<?php
// 使用 array_fill() 填充一個數組,每個值為 'http://example.com'
$keys = ['url1', 'url2', 'url3'];
$values = array_fill(0, count($keys), 'http://example.com');
// 使用 array_combine() 將鍵與值結合成一個鍵值對數組
$combinedArray = array_combine($keys, $values);
// 替換所有 URL 域名為 m66.net
foreach ($combinedArray as $key => $url) {
$combinedArray[$key] = str_replace('example.com', 'm66.net', $url);
}
// 輸出結果
print_r($combinedArray);
?>
輸出結果為:
Array
(
[url1] => http://m66.net
[url2] => http://m66.net
[url3] => http://m66.net
)
在上面的示例中,我們創建了一個包含多個URL 鍵值對的數組,並使用str_replace()函數將URL 中的example.com替換成m66.net 。這樣,所有的URL 就都指向了新的域名。
通過將array_fill()與array_combine()結合使用,我們可以輕鬆創建具有特定鍵名和相應值的數組。而通過對數組進行操作,如使用str_replace() ,我們還可以進一步處理數組中的內容,例如修改URL 中的域名。希望這篇文章能幫助你更好地理解這兩個函數的使用方法,並在實際開發中加以應用。