摘要:獲取元素數量獲取數組元素總數獲取所有的鍵獲取數組所有鍵組成的數組。遍歷數組元素獲取數組當前元素。數組指針前移一步。數組指針指向最后一個元素。其他數組操作反轉數組。隨機取出數組元素。對數組的所有值求和。
這幾天工作之余整理和分類了PHP 中常用的數組相關的函數。如有錯誤和遺漏,請留言指正!
數組函數整理 創建數組函數array array ([ mixed $... ] ):創建數組的語言結構
array range ( mixed $start , mixed $end [, number $step = 1 ] ):根據范圍創建數組
array array_combine ( array $keys , array $values ):使用一個數組作為鍵,另一個數組作為值創建新的數組。
獲取元素數量int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ):獲取數組元素總數
獲取所有的鍵array array_keys ( array $array [, mixed $search_value = null [, bool $strict = false ]] ):獲取數組所有鍵組成的數組。
獲取所有的值array array_values ( array $array ):獲取數組所有值組成的數組。
遍歷數組元素mixed current ( array &$array ):獲取數組當前元素。
mixed key ( array $array ):獲取數組當前元素的鍵。
mixed next ( array &$array ):數組指針前移一步。
mixed prev ( array &$array ):數組指針倒回一步。
mixed reset ( array &$array ):數組指針指向第一個元素。
mixed end ( array &$array ):數組指針指向最后一個元素。
array each ( array &$array ):返回鍵值對,并數組指針前移一步。
數組位移操作mixed array_shift ( array &$array ):從數組移除一個元素,并返回。
int array_unshift ( array &$array , mixed $value1 [, mixed $... ] ):數組頭部插入一個或多個元素。
數組的棧操作mixed array_pop ( array &$array ):數組尾部最后一個元素移除并返回(出棧)。
int array_push ( array &$array , mixed $value1 [, mixed $... ] ):數組尾部壓入一個或多個元素(入棧)
數組元素排序函數名稱 | 排序依據 | 是否保持鍵 | 排序順序 | 是否使用回調函數 |
---|---|---|---|---|
array_multisort() | 值 | 數字類型鍵不保持,字符串類型鍵保持 | 第一個數組或由選項指定 | 否 |
asort() | 值 | 是 | 由低到高 | 否 |
arsort() | 值 | 是 | 由高到低 | 否 |
ksort() | 鍵 | 是 | 由低到高 | 否 |
krsort() | 鍵 | 是 | 由高到低 | 否 |
natsort() | 值 | 是 | 自然排序 | 否 |
natcasesort() | 值 | 是 | 自然排序,大小寫不敏感 | 否 |
sort() | 值 | 否 | 由低到高 | 否 |
rsort() | 值 | 否 | 由高到低 | 否 |
shuffle() | 值 | 否 | 隨機 | 否 |
usort() | 值 | 否 | 用戶定義 | 是 |
uasort() | 值 | 是 | 用戶定義 | 是 |
uksort() | 鍵 | 是 | 用戶定義 | 是 |
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] ):查找值對應的第一個鍵名。
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ):判斷值是否存在
bool array_key_exists ( mixed $key , array $array ):判斷鍵是否存在
使用回調函數array array_map ( callable $callback , array $array1 [, array $... ] )
bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )
bool array_walk_recursive ( array &$array , callable $callback [, mixed $userdata = NULL ] )
數組的差集函數名稱 | 是否比較鍵名 | 是否比較值 | 鍵是否使用回調函數 | 值是否使用回調函數 |
---|---|---|---|---|
array_diff_key() | 是 | 否 | 否 | 否 |
array_diff() | 否 | 是 | 否 | 否 |
array_diff_assoc() | 是 | 是 | 否 | 否 |
array_diff_ukey() | 是 | 否 | 是 | 否 |
array_udiff () | 否 | 是 | 否 | 是 |
array_diff_uassoc() | 是 | 是 | 是 | 否 |
array_udiff_assoc() | 是 | 是 | 否 | 是 |
array_udiff_uassoc() | 是 | 是 | 是 | 是 |
函數名稱 | 是否比較鍵名 | 是否比較值 | 鍵是否使用回調函數 | 值是否使用回調函數 |
---|---|---|---|---|
array_intersect_key() | 是 | 否 | 否 | 否 |
array_intersect() | 否 | 是 | 否 | 否 |
array_intersect_assoc() | 是 | 是 | 否 | 否 |
array_intersect_ukey() | 是 | 否 | 是 | 否 |
array_uintersect () | 否 | 是 | 否 | 是 |
array_intersect_uassoc() | 是 | 是 | 是 | 否 |
array_uintersect_assoc() | 是 | 是 | 否 | 是 |
array_uintersect_uassoc() | 是 | 是 | 是 | 是 |
array array_merge ( array $array1 [, array $... ] ):合并一個或多個數組。
array array_merge_recursive ( array $array1 [, array $... ] ):遞歸地合并一個或多個數組。
替換數組元素array array_replace ( array $array1 , array $array2 [, array $... ] ):替換一個數組的元素。
填充已有數組array array_fill_keys ( array $keys , mixed $value ):使用指定的鍵和值填充。
array array_fill ( int $start_index , int $num , mixed $value ):使用指定的值填充。
array array_pad ( array $array , int $size , mixed $value ):以指定大小填充數組。
其他數組操作array array_reverse ( array $array [, bool $preserve_keys = false ] ):反轉數組。
array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] ):分割數組。
array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] ):獲取數組的一個列。
mixed array_rand ( array $array [, int $num = 1 ] ):隨機取出數組元素。
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ):取出數組的一部分元素。
array array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed $replacement = array() ]] ):取代數組的一部分元素。
array array_count_values ( array $array ):統計數組中的所有的值。
number array_product ( array $array ):計算數組中所有值的乘積。
number array_sum ( array $array ):對數組的所有值求和。
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] ):移除數組中重復的值。
array list ( mixed $var1 [, mixed $... ] ):數組轉換為一組變量。
array array_change_key_case ( array $array [, int $case = CASE_LOWER ] ):數組鍵名大小寫轉化。
array array_flip ( array $array ):交換數組的鍵和值。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/28785.html
摘要:下面就記錄下我在寫時實現無限分類的過程。方法是一個遞歸函數。這邊我自定義了一個遞歸函數用于獲取該分類下的子分類。具體實現如下獲取子節點記錄該分類的深度啟用禁用如果該分類的依舊有子分類則再次遍歷輸出重置分類層級最終效果 最近打算做一個blog,通常每篇文章都有屬于自己的分類。下面就記錄下我在寫blog時實現無限分類的過程。php框架用的是laravel,根據注釋也能輕松改成你習慣的框架。...
摘要:我們在新建一個刪除前的鉤子函數,再利用遞歸方法實現子欄目的刪除。最后我們刪除把鉤子函數恢復到原始狀態在瀏覽器中輸入,然后點擊美國一欄中的刪除,此時會同時刪除美國下的紐約。至此,無限級分類的刪除功能操作完畢。 在此現更正一下之前的預告,之前忘記了先應該把無限級分類欄目列表功能做完,也就是刪除功能還沒做,所以今天我們先做刪除,下一節再做面包屑導航。非常抱歉。 同時,不知道是什么原因,上一節...
摘要:如果你現在處于以下幾種狀態,本資料非常適合你準備換工作,不知道從哪開始準備技術遇到瓶頸,不知道該學什么準備學,但不知道領域有多深一基礎篇了解大部分數組處理函數字符串處理函數區別系列函數引用,結合案例分析與區別與區別全部魔術函數理解區別區別二 如果你現在處于以下幾種狀態,本資料非常適合你: 準備換工作,不知道從哪開始準備 技術遇到瓶頸,不知道該學什么 準備學 PHP,但不知道領域有多深...
摘要:寫在前面金三銀四又到了一年一度的跳槽季相信大家都在準備自己面試筆記我也針對自己工作中所掌握或了解的一些東西做了一個目錄總結方便自己復習詳細內容會在之后一一對應地補充上去有些在我的個人主頁筆記中也有相關記錄這里暫且放一個我的面試知識點目錄大家 寫在前面: 金三銀四, 又到了一年一度的跳槽季, 相信大家都在準備自己面試筆記, 我也針對自己工作中所掌握或了解的一些東西做了一個目錄總結,方便自...
摘要:寫在前面金三銀四又到了一年一度的跳槽季相信大家都在準備自己面試筆記我也針對自己工作中所掌握或了解的一些東西做了一個目錄總結方便自己復習詳細內容會在之后一一對應地補充上去有些在我的個人主頁筆記中也有相關記錄這里暫且放一個我的面試知識點目錄大家 寫在前面: 金三銀四, 又到了一年一度的跳槽季, 相信大家都在準備自己面試筆記, 我也針對自己工作中所掌握或了解的一些東西做了一個目錄總結,方便自...
閱讀 3295·2023-04-26 00:57
閱讀 609·2021-10-08 10:05
閱讀 1355·2021-09-08 09:36
閱讀 4173·2021-08-12 13:31
閱讀 2553·2019-08-30 15:55
閱讀 2244·2019-08-30 15:55
閱讀 1023·2019-08-30 15:55
閱讀 2693·2019-08-29 13:17