【每日函式】每日函式(2021.08.05)

夢中程式設計師發表於2021-08-05

每日函式(2021.08.05)

一夢千年系列

array_change_key_case1

將陣列中所有的鍵名修改為全大寫或者小寫

  1. 說明
array_change_key_case(array $array, int $case = CASE_LOWER) : array
  1. 引數

array需要操作的陣列

case鍵名是大寫還是小寫的引數,引數可以是倆個常量,CASE_UPPERCASE_LOWER(預設值)

  1. 返回值

返回一個鍵名全是大寫或者小寫的陣列,如果輸入值不是一個陣列,那麼返回false

  1. 範例
$inputArray = [
    'name' => 'leruge',
    'AGE' => 26
];

$newArray = array_change_key_case($inputArray, CASE_LOWER);

print_r($newArray);

以上範例會輸出

Array
(
    [name] => leruge
    [age] => 26
)
  1. 特別注意

如果一個陣列中的多個鍵名轉換以後變成一樣的話,最後一個值將會覆蓋其它的值。

一夢千年系列

array_chunk2

將一個陣列分割成多個

  1. 說明
array_chunk(array $array, int $length, bool $preserve_keys = false) : array

將一個陣列分割成多個陣列,其中每個陣列的元素個數由length決定,最有一個陣列的長度可能小於length個

  1. 引數

array需要操作的陣列

length每個陣列的個數

preserve_keys設為true保留原來的鍵名,如果設為false則每個陣列的索引都是從零開始,預設是是false

  1. 返回值

分割好的多個陣列組合的一個陣列

  1. 範例
$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
        )

)
  1. 特別注意

如果length小於1,會丟擲一個E_WARNING錯誤並返回null

一夢千年系列

array_column3

返回陣列中指定列的值,組裝成新的陣列

  1. 說明
array_column(array $array, int|string|null $column_key, int int|string|null $index_key = null) : array

返回指定陣列中鍵名為column_key的一列值,如果指定了可選引數index_key,則index_key列的值將作為新陣列的鍵名

  1. 引數

array 原始陣列或者物件陣列。如果時候物件陣列,只有public的屬性會被直接取出,如果想取出private和protected,則必須實現__get和__isset魔術方法

column_key需要返回值的列。可以時候null,此時將返回整個陣列,配合index_key引數來重新索引陣列

index_key作為返回陣列的鍵名

  1. 返回值

返回指定陣列的某列值。

  1. 範例
$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
)
  1. 特別說明

如果指定的陣列是物件陣列,且沒有可訪問的屬性,則會返回空陣列

一夢千年系列

array_combine4

  1. 說明
array_combine(array $key_array, array $value_array) : array

返回一個新的陣列,key_array作為鍵名,value_array作為鍵值

  1. 引數

key_array作為鍵名的陣列,非法的值將會被轉換誒字串型別

value_array作為鍵值的陣列

  1. 返回值

返回新生成的陣列,如果倆個陣列的元素個數不同,則返回false

  1. 範例
$keyArray = ['id', 'name', 'age'];
$valueArray = [1, 'swk', 26];

$newArray = array_combine($keyArray, $valueArray);

print_r($newArray);

以上範例會陣列

Array
(
    [id] => 1
    [name] => swk
    [age] => 26
)
  1. 特別說明

如果作為鍵名的陣列和作為鍵值的陣列,元素個數不一樣的會,會丟擲錯誤

一夢千年系列

array_count_values5

統計陣列中所有值出現的次數

  1. 說明
array_count_values(array $array) : array
  1. 引數

array指定的陣列

  1. 返回值

返回一個關聯陣列,統計陣列中每個值出現的次數

  1. 範例
$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
)
  1. 特別說明

對陣列裡面不是string或int型別的元素會丟擲錯誤無

相關文章