[英]Unique count of array values
我有一個名為$ countrySelected的數組。 我想檢索國家的唯一總數。
例如,如果陣列中有阿富汗 , 奧蘭群島和阿富汗 ,則唯一計數為2 。
在正確方向上的任何指針或參考將不勝感激。 我會以某種方式合並數組,然后計算唯一值嗎?
Array
(
[0] => Array
(
[0] => Afghanistan
[1] => Aland Islands
)
[1] => Array
(
[0] => Aland Islands
[1] => Albania
[2] => Algeria
)
[2] => Array
(
[0] => Albania
[1] => Algeria
)
[3] =>
[4] => Array
(
[0] => Albania
[1] => Algeria
)
[5] => Array
(
[0] => Aland Islands
[1] => Albania
[2] => Algeria
)
[6] =>
[7] =>
[8] =>
[9] =>
[10] =>
[11] => Array
(
[0] => Afghanistan
)
[12] =>
[13] =>
[14] =>
[15] =>
[16] =>
[17] =>
[18] =>
[19] => Array
(
[0] => Albania
[1] => Algeria
)
[20] =>
[21] =>
[22] =>
[23] =>
[24] =>
[25] =>
[26] =>
[27] =>
[28] =>
[29] =>
[30] =>
[31] =>
[32] =>
[33] =>
[34] =>
[35] =>
[36] =>
[37] =>
[38] =>
[39] =>
[40] =>
[41] =>
[42] =>
[43] =>
[44] =>
[45] =>
[46] =>
[47] =>
[48] =>
[49] =>
[50] =>
[51] =>
[52] =>
[53] =>
[54] =>
[55] =>
[56] =>
[57] =>
[58] =>
[59] =>
[60] =>
[61] =>
[62] =>
[63] =>
[64] =>
[65] =>
[66] =>
[67] =>
[68] =>
[69] =>
[70] =>
[71] =>
[72] =>
[73] =>
[74] =>
[75] =>
[76] =>
[77] =>
[78] =>
[79] =>
)
你可以這樣做
$arr_country = array();
foreach($your_array as $arr)
{
foreach($arr as $country)
{
if(!in_array($country, $arr_country))
{
$arr_country[] = $country;
}
}
}
echo "Total Countries : ".count($arr_country);
您可以使用內置的數組函數進行計數以獲得簡單數組
$ary=array("Af","Bc","Af");
$count=count(array_unique($ary));
echo $count;
用於數組使用的數組
$countrySelected=array();
foreach ($resarray as $tkey=>$tvalue)
{
if(is_array($tvalue))
{
foreach($tvalue as $finkey=>$finvalue)
{
$countryselected[]=$finvalue;
}
}
}
$count=count(array_unique($countryselected));
echo $count;
<?php
$countries = array();
foreach($given_array as $array){
foreach($array as $country){
if(!in_array($country, $countries)){
$countries[] = $country;
}
}
}
echo count($countries); // prints Total Number of countries
?>
我已經嘗試過使用array_reduce
,使用數組鍵的翻轉
$uniques = array_reduce( $countries, function ( $carry, $item){
return $item ? $carry + array_flip($item) : $carry;
}, array() );
echo count( array_keys( $uniques) );
這是簡單的解決方案:沒有循環:)
$array = array(array("Afghanistan", "Aland Islands"), array("Aland Islands", "Albania", "Albania"));
$result = array_count_values(call_user_func_array('array_merge', $array));
echo "<pre>";
print_r($result);
COUNT($結果); //將為您提供獨特國家/地區的數量。
輸出:
Array
(
[Afghanistan] => 1
[Aland Islands] => 2
[Albania] => 2
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.