数组是最基本的数据结构, 在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()