色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php arraycountvalues

黃文隆1年前8瀏覽0評論

PHP程序員都知道,在日常的開發中經常要使用數組(array)這個數據類型。而數組中一個非常實用的函數是array_count_values,可以統計每個值在數組中出現的次數。

我們來看一個例子:

$arr = array(1,2,3,2,2,3,4,5,3);
$counts = array_count_values($arr);
print_r($counts);

在這個例子中,我們先定義了一個數組$arr,然后調用array_count_values函數,并將結果賦值給變量$counts,最后將$counts打印出來。

運行這段代碼,你會得到下面的結果:

Array
(
[1] =>1
[2] =>3
[3] =>3
[4] =>1
[5] =>1
)

結果說明了$arr數組中1出現了1次,2出現了3次,3出現了3次,4和5分別只出現了1次。

這個函數非常實用,比如你想要知道一篇文章中最常見的10個單詞是哪些,或者你想要知道一張圖片中像素點最多的顏色是哪個,都可以使用這個函數。

當然,如果你想要對一個關聯數組進行統計,也是可以的。不同之處在于,返回的結果不再是一個簡單的數組,而是一個關聯數組,鍵為原數組中的值,值為該值在原數組中出現的次數。

我們看下面這個例子:

$arr = array(
"apple" =>3,
"banana" =>2,
"orange" =>2,
"pear" =>1,
);
$counts = array_count_values($arr);
print_r($counts);

在這個例子中,我們定義了一個關聯數組$arr,然后調用array_count_values函數,并將結果賦值給變量$counts,最后將$counts打印出來。

運行這段代碼,你會得到下面的結果:

Array
(
[3] =>1
[2] =>2
[1] =>1
)

結果說明了3出現了1次,2出現了2次,1出現了1次。這個結果可以幫助我們更清楚地了解原數組中各個鍵值的出現情況。

需要注意的是,array_count_values函數對于傳入的數組中的每個元素,都會進行強制類型轉換。也就是說,如果數組中包含了字符串、浮點數等元素,他們都會被轉換為整數,再進行統計。

最后,再來看一些小技巧。如果你想要通過統計結果,將原數組中的某些元素過濾掉,你可以先調用array_count_values函數,然后將結果中次數等于1的元素去掉,再用array_diff_key函數將結果中的鍵與原數組的鍵進行比較,即可得到需要保留的元素。

我們來看下面這個例子:

$arr = array(1,2,3,2,2,3,4,5,3);
$counts = array_count_values($arr);
$counts = array_filter($counts, function($count) {
return $count != 1;
});
$keys = array_keys($counts);
$res = array_intersect_key($arr, array_flip($keys));
print_r($res);

運行這段代碼,你會得到下面的結果:

Array
(
[1] =>2
[2] =>2
[3] =>3
)

我們先使用array_count_values函數統計出來各個元素出現的次數,然后使用array_filter函數將統計結果中次數等于1的元素去掉,接著用array_keys函數取出剩下的鍵,再用array_intersect_key函數將鍵與原數組鍵進行比較,即可得到需要保留的元素。

以上就是有關array_count_values函數的相關介紹和應用技巧,希望對你的開發工作有所幫助!