Apr
11
2012
PHP 与数组有关的函数
PHP 与数组有关的函数
数组键/值操作有关的函数
- array_values() // 返回数组中所有的值
- array_keys() // 返回数组中所有的键名
- in_array() // 检查数组中是否存在某个值
- array_key_exists() // 检查给定的键名或索引是否存在于数组中
- array_flip() // 交换数组中的键和值
- array_reverse() // 返回一个单元顺序相反的数组
统计数组元素的个数和惟一性
- count() // 计算数组中的单元数目或对象中的属性个数
- sizeof() // count 的别名
- array_count_values() // 统计数组中所有的值出现的次数
- array_unique() // 移除数组中重复的值
使用回调函数处理数组的函数
- array_filter() // 用回调函数过滤数组中的单元
- array_walk() // 对数组中的每个成员应用用户函数
- array_walk() // 对数组中的每个成员应用用户函数
数组的简单排序<不保留数组元素下标>
根据键名对数组的排序
根据数组的值对数组的排序
根据自然排序法对数组排序
- natsort() // 用”自然排序”算法对数组排序
- natcasesort() // 用”自然排序”算法对数组进行不区分大小写字母的排序
根据用户自定义规则(回调函数)对数组进行排序
- uasort() // 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
- uksort() // 使用用户自定义的比较函数对数组中的键名
- usort() // 使用用户自定义的比较函数对数组中的值进行排序
多维数组的排序
- array_multisort() // 对多个数组或多维数组进行排序
拆分、合并、分解、接合的数组函数
- array_slice() // 从数组中取出一段
- array_splice() // 把数组中的一部分去掉并用其它值取代
- array_merge() // 合并一个或多个数组
- array_intersect() // 计算数组的交集
- array_diff() // 计算数组的差集
数组与数据结构的函数
1.使用数据实现堆栈(后进先出)
- array_pop() // 将数组最后一个单元弹出(出栈)
- array_push() // 将一个或多个单元压入数组的末尾(入栈)
2.使用队列(先进先出)
- array_unshift() // 在数组开头插入一个或多个单元
- array_shift() // 将数组开头的单元移出数组
其它与数据操作有关的函数
- array_rand() // 从数组中随机取出一个或多个单元
- shuffle() // 将数组顺序打乱
- array_sum() // 计算数组中所有值的和
- range() // 建立一个包含指定范围单元的数组
- array_reverse() // 返回一个单元顺序相反的数组
数组的遍历方式
1.只取数组中的值不取键值
foreach($arr as $val){ echo $val . '<br/>'; }
2.取数组中的键和值
foreach($arr as $key => $val){ echo $key . ' => ' . $val . '<br/>'; }
3.while() list() each() 组合循环遍历数组
while ( $arr = each ( $array ) ) { echo $arr ['key'] . ' => ' . $arr ['value'] . '<br/>'; }
while ( list($key, $value) = each ( $array ) ) { echo $key . ' => ' . $value . '<br/>'; }
- array_change_key_case() // 返回字符串键名全为小写或大写的数组
- array_chunk() // 将一个数组分割成多个
- array_combine() // 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
- array_count_values() // 统计数组中所有的值出现的次数
- array_diff_assoc() // 带索引检查计算数组的差集
- array_diff_key() // 使用键名比较计算数组的差集
- array_diff_uassoc() // 用用户提供的回调函数做索引检查来计算数组的差集
- array_diff_ukey() // 用回调函数对键名比较计算数组的差集
- array_diff() // 计算数组的差集
- array_fill_keys() // 使用指定的键和值填充数组
- array_fill() // 用给定的值填充数组
- array_filter() // 用回调函数过滤数组中的单元
- array_flip() // 交换数组中的键和值
- array_intersect_assoc() // 带索引检查计算数组的交集
- array_intersect_key() // 使用键名比较计算数组的交集
- array_intersect_uassoc() // 带索引检查计算数组的交集,用回调函数比较索引
- array_intersect_ukey() // 用回调函数比较键名来计算数组的交集
- array_intersect() // 计算数组的交集
- array_key_exists() // 检查给定的键名或索引是否存在于数组中
- array_keys() // 返回数组中所有的键名
- array_map() // 将回调函数作用到给定数组的单元上
- array_merge_recursive() // 递归地合并一个或多个数组
- array_merge() // 合并一个或多个数组
- array_multisort() // 对多个数组或多维数组进行排序
- array_pad() // 用值将数组填补到指定长度
- array_pop() // 将数组最后一个单元弹出(出栈)
- array_product() // 计算数组中所有值的乘积
- array_push() // 将一个或多个单元压入数组的末尾(入栈)
- array_rand() // 从数组中随机取出一个或多个单元
- array_reduce() // 用回调函数迭代地将数组简化为单一的值
- array_replace_recursive() // 使用传递的数组递归替换第一个数组的元素
- array_replace() // 使用传递的数组替换第一个数组的元素
- array_reverse() // 返回一个单元顺序相反的数组
- array_search() // 在数组中搜索给定的值,如果成功则返回相应的键名
- array_shift() // 将数组开头的单元移出数组
- array_slice() // 从数组中取出一段
- array_splice() // 把数组中的一部分去掉并用其它值取代
- array_sum() // 计算数组中所有值的和
- array_udiff_assoc() // 带索引检查计算数组的差集,用回调函数比较数据
- array_udiff_uassoc() // 带索引检查计算数组的差集,用回调函数比较数据和索引
- array_udiff() // 用回调函数比较数据来计算数组的差集
- array_uintersect_assoc() // 带索引检查计算数组的交集,用回调函数比较数据
- array_uintersect_uassoc() // 带索引检查计算数组的交集,用回调函数比较数据和索引
- array_uintersect() // 计算数组的交集,用回调函数比较数据
- array_unique() // 移除数组中重复的值
- array_unshift() // 在数组开头插入一个或多个单元
- array_values() // 返回数组中所有的值
- array_walk_recursive() // 对数组中的每个成员递归地应用用户函数
- array_walk() // 对数组中的每个成员应用用户函数
- array() // 新建一个数组
- arsort() // 对数组进行逆向排序并保持索引关系
- asort() // 对数组进行排序并保持索引关系
- compact() // 建立一个数组,包括变量名和它们的值
- count() // 计算数组中的单元数目或对象中的属性个数
- current() // 返回数组中的当前单元
- each() // 返回数组中当前的键/值对并将数组指针向前移动一步
- end() // 将数组的内部指针指向最后一个单元
- extract() // 从数组中将变量导入到当前的符号表
- in_array() // 检查数组中是否存在某个值
- key() // 从关联数组中取得键名
- krsort() // 对数组按照键名逆向排序
- ksort() // 对数组按照键名排序
- list() // 把数组中的值赋给一些变量
- natcasesort() // 用”自然排序”算法对数组进行不区分大小写字母的排序
- natsort() // 用”自然排序”算法对数组排序
- next() // 将数组中的内部指针向前移动一位
- pos() // current 的别名
- prev() // 将数组的内部指针倒回一位
- range() // 建立一个包含指定范围单元的数组
- reset() // 将数组的内部指针指向第一个单元
- rsort() // 对数组逆向排序
- shuffle() // 将数组打乱
- sizeof() // count 的别名
- sort() // 对数组排序
- uasort() // 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
- uksort() // 使用用户自定义的比较函数对数组中的键名进行排序
- usort() // 使用用户自定义的比较函数对数组中的值进行排序
最活跃的读者