前言:
php的陣列是一直非常強大的資料型別, 它的功能包含了常規的資料結構中array, map, set, linked list 等等, 具體使用時可根據不同的功能需求而使用對應的函式組合
1.作為陣列使用: 索引陣列
定義: $arr = ['foo1', 'foo2', 'foo3']
追加元素: $arr = 'foo4'
刪除元素: unset($arr[1])
遍歷資料 : for($i=0, $len = count($arr); $i<$len; $i++){}
或 forearch($arr as $val) {}
2.作為map使用: 關聯陣列
定義: $arr= ['key1' => 'val1', 'key2' => ]
追加元素: $arr['key3'] = 'val3'
刪除元素: unset($arr[key1])
遍歷陣列: forearch($arr as $key => $val) {}
3.作為set使用: 作為集合使用
定義: $arr = ['foo1', 'foo2', 'foo3']
新增元素: $arr = 'foo4'
移除元素: unset($arr[array_search['foo1', $arr]]) 或 $arr = array_diff($arr, ['foo4'])
判斷元素在集合中: in_array('foo4', $arr)
取差集: $arr_new = array_diff($arr1, $arr2)
取並集: $arr_new = array_merge($arr1, $arr2)
取交集: $arr_new = array_intersect($arr1, $arr2)
4.作為list使用
頭進: array_unshift($arr, $val)
頭出: array_shift($arr, $val)
尾進: array_push($arr, $val)
尾出: array_pop($arr)
結尾:以上只是最簡單的使用場景, 更多的時候乙個php陣列是多種資料結構的混合應用, 這樣可以更好的將注意力集中在功能的實現,而非對資料結構本身的選擇和設計.
PHP 解析PHP中的陣列
目錄結構 contents structure 建立陣列 刪除陣列 棧結構常用的陣列處理函式 在這篇文章中,筆者將會介紹php中陣列的使用,以及一些注意事項。之前筆者已經說過php是一門弱語言型別,因此php中的陣列使用也比較靈活。建立陣列的方式有好幾種,比如 格式 陣列變數名 索引值 資料內容 f...
PHP原始碼解析 陣列
bucket裡的h欄位 雜湊函式拆分成hash1和hash2,hash1將key對映為h值,hash2將h值對映為slot的索引值。h值為數字key,當key為數字時,hash1函式沒有做任何事情,當key為字串時,會通過hash1函式將字串key計算出乙個數字h值,加快字串key之間的比較速度,如...
深度解析PHP陣列函式array chunk
array chunk是php中的乙個陣列分割函式,是將乙個陣列分割為多個陣列塊 我們可以把它理解賣豆腐的商人把一整塊大豆腐切割為乙個乙個的小塊來進行售賣 這個函式需要三個引數 被切割的陣列 必需 被切割為多少塊 必需 是否保留原陣列索引關係true,flase預設為flase 可選 注意 被切割後...