每日函式(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型別的元素會丟擲錯誤無