每日函數(2021.08.05)
一夢千年系列
array_change_key_case1
將數組中所有的鍵名修改為全大寫或者小寫
- 說明
array_change_key_case(array $array, int $case = CASE_LOWER) : array
- 參數
array
需要操作的數組
case
鍵名是大寫還是小寫的參數,參數可以是倆個常量,CASE_UPPER
和CASE_LOWER
(默認值)
- 返回值
返回一個鍵名全是大寫或者小寫的數組,如果輸入值不是一個數組,那么返回false
- 范例
$inputArray = [
'name' => 'leruge',
'AGE' => 26
];
$newArray = array_change_key_case($inputArray, CASE_LOWER);
print_r($newArray);
以上范例會輸出
Array
(
[name] => leruge
[age] => 26
)
- 特別注意
如果一個數組中的多個鍵名轉換以后變成一樣的話,最后一個值將會覆蓋其它的值。
一夢千年系列
array_chunk2
將一個數組分割成多個
- 說明
array_chunk(array $array, int $length, bool $preserve_keys = false) : array
將一個數組分割成多個數組,其中每個數組的元素個數由length決定,最有一個數組的長度可能小於length個
- 參數
array
需要操作的數組
length
每個數組的個數
preserve_keys
設為true
保留原來的鍵名,如果設為false
則每個數組的索引都是從零開始,默認是是false
- 返回值
分割好的多個數組組合的一個數組
- 范例
$inputArray = [1, 2, 3, 4, 5, 6, 7, 8];
$newArray = array_chunk($inputArray, 2);
print_r($newArray);
以上范例會輸出
Array
(
[0] => Array
(
[0] => 1
[1] => 2
)
[1] => Array
(
[0] => 3
[1] => 4
)
[2] => Array
(
[0] => 5
[1] => 6
)
[3] => Array
(
[0] => 7
[1] => 8
)
)
- 特別注意
如果
length
小於1,會拋出一個E_WARNING
錯誤並返回null
一夢千年系列
array_column3
返回數組中指定列的值,組裝成新的數組
- 說明
array_column(array $array, int|string|null $column_key, int int|string|null $index_key = null) : array
返回指定數組中鍵名為column_key
的一列值,如果指定了可選參數index_key
,則index_key
列的值將作為新數組的鍵名
- 參數
array
原始數組或者對象數組。如果時候對象數組,只有public的屬性會被直接取出,如果想取出private和protected,則必須實現__get和__isset魔術方法
column_key
需要返回值的列。可以時候null,此時將返回整個數組,配合index_key參數來重新索引數組
index_key
作為返回數組的鍵名
- 返回值
返回指定數組的某列值。
- 范例
$inputArray = [
['id' => 1, 'name' => 'swk'],
['id' => 2, 'name' => 'zbj'],
['id' => 3, 'name' => 'ss']
];
$newArray = array_column($inputArray, 'id', 'name');
print_r($newArray);
以上范例輸出
Array
(
[swk] => 1
[zbj] => 2
[ss] => 3
)
- 特別說明
如果指定的數組是對象數組,且沒有可訪問的屬性,則會返回空數組
一夢千年系列
array_combine4
- 說明
array_combine(array $key_array, array $value_array) : array
返回一個新的數組,key_array作為鍵名,value_array作為鍵值
- 參數
key_array
作為鍵名的數組,非法的值將會被轉換誒字符串類型
value_array
作為鍵值的數組
- 返回值
返回新生成的數組,如果倆個數組的元素個數不同,則返回false
- 范例
$keyArray = ['id', 'name', 'age'];
$valueArray = [1, 'swk', 26];
$newArray = array_combine($keyArray, $valueArray);
print_r($newArray);
以上范例會數組
Array
(
[id] => 1
[name] => swk
[age] => 26
)
- 特別說明
如果作為鍵名的數組和作為鍵值的數組,元素個數不一樣的會,會拋出錯誤
一夢千年系列
array_count_values5
統計數組中所有值出現的次數
- 說明
array_count_values(array $array) : array
- 參數
array
指定的數組
- 返回值
返回一個關聯數組,統計數組中每個值出現的次數
- 范例
$inputArray = [1, 2, 8, 2, 1, 9, 7, 5, 3, 2, 4];
$newArray = array_count_values($inputArray);
print_r($newArray);
以上范例輸出
Array
(
[1] => 2
[2] => 3
[8] => 1
[9] => 1
[7] => 1
[5] => 1
[3] => 1
[4] => 1
)
- 特別說明
對數組里面不是string或int類型的元素會拋出錯誤無