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