// array_count_values — 統計數組中所有的值
// array_count_values(array $array): array
// array_count_values() 傳回一個數組: 數組的鍵(必須是 int 或 string)是 array 裡單元的值; 數組的值是 array 單元的值出現的次數
// $array = array(1, "hello", 1, "world", "hello");
// $values = array_count_values($array);
// Array
// (
// [1] => 2
// [hello] => 2
// [world] => 1
// )
// echo '<pre>';
// print_r($values);
// echo '</pre>';
-------------------------------------------------------------------------------------------------------------------------
// count — 統計數組、Countable 對象中所有元素的數量
// count(Countable|array $value, int $mode = COUNT_NORMAL): int
// 用于數組時,統計數組中元素的數量
// 用于實作了 Countable 接口的對象時,傳回 Countable::count() 方法的傳回值
// 如果可選的 mode 參數設為 COUNT_RECURSIVE(或 1),count() 将遞歸地對數組計數。對計算多元數組的所有單元尤其有用
// $b[0] = 7;
// $b[5] = 9;
// $b[10] = 11;
// echo count($b);
// 3
// echo count(false); //錯誤
// echo count(null); //錯誤
// $a[0] = 1;
// $a[1] = 3;
// $a[2] = 5;
// echo count($a);
// 3
// $food = array(
// 'fruits' => array('orange', 'banana', 'apple'),
// 'veggie' => array('carrot', 'collard', 'pea')
// );
// echo count($food);
// 2
// echo count($food,1);
// 8
// class CountOfMethods implements Countable
// {
// private function someMethod()
// {
// }
// public function count():int
// {
// return count(get_class_methods($this));
// }
// }
// $obj = new CountOfMethods();
// echo count($obj);
// 2
-------------------------------------------------------------------------------------------------------------------------
// array_unique — 移除數組中重複的值
// array_unique(array $array, int $flags = SORT_STRING): array
// array_unique() 接受 array 作為輸入并傳回沒有重複值的新數組
// 注意鍵名保留不變。如果在指定了 flags 時存在多個相等的元素, 會保留第一個相等的元素的鍵(key)和值(value)
// SORT_REGULAR - 按照通常方法比較(不修改類型)
// SORT_NUMERIC - 按照數字形式比較
// SORT_STRING - 按照字元串形式比較
// SORT_LOCALE_STRING - 根據目前的本地化設定,按照字元串比較
// $input = array("a" => "green", "red", "b" => "green", "blue", "red");
// $result = array_unique($input);
// Array
// (
// [a] => green
// [0] => red
// [1] => blue
// )
// $input = array(4, "4", "3", 4, 3, "3");
// $result = array_unique($input);
// Array
// (
// [0] => 4
// [2] => 3
// )
// echo '<pre>';
// print_r($result);
// echo '</pre>';
// 注意, array_unique() 不能應用于多元數組
-------------------------------------------------------------------------------------------------------------------------
// count_chars — 傳回字元串所用字元的資訊
// count_chars(string $string, int $mode = 0): array|string
// 統計 string 中每個位元組值(0..255)出現的次數,使用多種模式傳回結果
// 0 - 以所有的每個位元組值作為鍵名,出現次數作為值的數組
// 1 - 與 0 相同,但隻列出出現次數大于零的位元組值
// 2 - 與 0 相同,但隻列出出現次數等于零的位元組值
// 3 - 傳回由所有使用了的位元組值組成的字元串
// 4 - 傳回由所有未使用的位元組值組成的字元串
// $data = 'Hello World.';
// foreach(count_chars($data,1) as $i=>$v)
// {
// chr — 從數字生成單位元組字元串
// echo $v .' - '. chr($i).'<br>';
// }
// 1 -
// 1 - .
// 1 - H
// 1 - W
// 1 - d
// 1 - e
// 3 - l
// 2 - o
// 1 - r