在PHP 中, array_flip()和array_count_values()是兩個常用的函數。 array_flip()用於交換數組的鍵和值,而array_count_values()用於統計數組中所有值的出現次數。通過將這兩個函數結合起來使用,可以方便地處理數組數據,實現更複雜的數據操作。
array_flip()函數可以將一個數組的鍵和值交換。也就是說,數組中的鍵變成值,而值變成鍵。需要注意的是,數組中的值必須是唯一的,否則會丟失數據。
$array = [
'apple' => 5,
'banana' => 3,
'orange' => 4,
];
$flippedArray = array_flip($array);
print_r($flippedArray);
Array
(
[5] => apple
[3] => banana
[4] => orange
)
在這個例子中, array_flip()函數將原數組中的鍵值互換,得到一個新的數組,其中原來的值變成了新的鍵。
array_count_values()函數統計數組中每個值的出現次數。它返回一個關聯數組,其中鍵是數組中的值,值是這些值在數組中出現的次數。
$array = ['apple', 'banana', 'orange', 'apple', 'banana', 'apple'];
$countedArray = array_count_values($array);
print_r($countedArray);
Array
(
[apple] => 3
[banana] => 2
[orange] => 1
)
這個例子中, array_count_values()統計了數組中每個水果的出現次數,並將結果作為一個新數組返回。
假設你有一個數組,其中包含了商品名稱及其價格。你希望通過array_flip()逆轉該數組,然後統計每個價格的出現次數。可以按照以下步驟進行操作:
$array = [
'apple' => 5,
'banana' => 3,
'orange' => 5,
'grape' => 3,
'peach' => 4,
];
$flippedArray = array_flip($array);
print_r($flippedArray);
// 統計價格的出現次數
$countedArray = array_count_values($flippedArray);
print_r($countedArray);
Flipped Array:
Array
(
[5] => apple
[3] => banana
[4] => peach
)
Counted Array:
Array
(
[apple] => 1
[banana] => 1
[peach] => 1
)
假設我們有一個包含多個URL 的數組,想要提取每個URL 的域名並統計每個域名的出現次數。我們可以首先使用array_flip()交換數組的鍵和值,然後用array_count_values()來統計每個域名出現的頻率。
$urls = [
'https://www.m66.net/product1',
'https://www.m66.net/product2',
'https://www.m66.net/product3',
'https://www.example.net/product1',
'https://www.m66.net/product4',
];
// 提取域名
$domains = array_map(function($url) {
return parse_url($url, PHP_URL_HOST);
}, $urls);
// 逆轉數組
$flippedDomains = array_flip($domains);
print_r($flippedDomains);
// 統計域名出現次數
$countedDomains = array_count_values($flippedDomains);
print_r($countedDomains);
Flipped Domains:
Array
(
[m66.net] => https://www.m66.net/product1
[example.net] => https://www.example.net/product1
)
Counted Domains:
Array
(
[m66.net] => 4
[example.net] => 1
)
在這個例子中, array_flip()函數被用於交換域名和URL,之後我們通過array_count_values()統計每個域名出現的次數,結果顯示m66.net域名出現了4 次,而example.net域名只出現了1 次。
希望這篇文章能幫助您更好地理解如何結合使用array_flip()和array_count_values()來處理數組數據。通過這些函數的組合,您可以輕鬆地逆轉數組中的鍵值對,並統計數據的頻率,為進一步的數據分析和處理提供支持。