數組是最基本的數據結構, 在php中數組相當的混雜,
php的數組可以實現堆棧(LIFO): 可以用array_pop,array_push實現
php的數組可以實現雙向隊列, 當然根據實際情況封裝一個類并做出限制
- 從頭部插入: array_unshift
- 刪除第一個元素: array_shift
- 從尾部插入: array_push
- 刪除最后一個元素: array_pop
單獨操作數組的時候我會用`$arr[] = 'x' `代替`array_push($arr, 'x')`, 因為前者沒有函數調用帶來的消耗
經常都需要遍歷數組, 用foreach, 之前挺喜歡用for的
并且也需要判斷數組的長度, count() / sizeof()
或者簡單的判空 empty()
把字符串拆分為數組explode()
拆分數組并賦值 -> `list($year, $month, $day) = explode('-', '2016-10-01')`
把數組合并為字符串 implode
配置用數組保存: 默認配置和自定義配置, 以自定義配置為準, 沒有的取默認配置內容, 可以使用array_merge($default, $defined), 注意, 順序是后面的覆蓋前面的
有時候我們需要判斷key
- array_key_exists()
有時候我們需要判斷value
- array_search(), in_array
又是需要取出數組的key或者values
- array_keys(), array_values
php 中也有很多的高階函數
map, reduce, filter, slice
數組少不了排序
按value排序arsort(), asort(), rsort, sort
按key排序krsort(), ksort()
指定排序uasort() uksort() usort()