PHP学习笔记之数组值及数组遍历和排序
发布:smiling 来源: PHP粉丝网 添加日期:2014-02-22 11:52:35 浏览: 评论:0
数组值的操作
1.值的析取
PHP中,用list来析取数组中的值,如list($a, $b) = $array,如果list中的值多于数组个数,list中多余的值会设为NULL,也可以用逗号来跳过数组中的值,如list($a, ,$b) = $array。
2.划分数组
如果想取得子数组,可以用array_slice(array, offset, length);来取得。它返回一个新的下标从0开始的数组。如果原数组的下标是字符串,好像是没有什么意义的,最好不要用,可以用array_splice来取得子串。
3.将数组分为多个数组
用array_chunk可以把数组分成一个二维数组。详细的可以通过链接看官方的说明。
4.键和值
array_keys($array),取得由数组索引组成的数组
array_value($array),取得由数组值组成的数组,索引从0开始重新分配。
array_key_exists($key, array),元素是否存在检查。
array_splice, 删除插入元素。
5.数组和变量之间的转换
extract(array) 把数组变成变量
compact() 把变量变成数组
6.数组的查找
in_array(array, ) 返回元素是否在数组中存在。
array_search() 返回被找到元素的索引。
7.整个数组函数
array_ sum() 计算数组的和。
array_ merge() 合并两个数组。
array_ diff() 两个数组之间的不同值。
array_ filter() 过滤元素
8.集合、堆栈、队列
array_ unique() 取两个数组的合集,如果值相同,保留前一个数组的索引。
array_ intersect() 取两个数级的交集,保留第一个数组的索引。
array_ push() 加入堆栈。
array_ pop() 弹出堆栈。
array_ shift() 加入队列。
array_ unshift() 弹出队列。
1.简单的遍历
PHP中,数组最简单的遍历方法莫过于for和foreach了,其中foreach有两种写法,一种只遍历值、另一种遍历索引和值,具体可以看如下代码.
- $test01 = array('a', 'b', 'c');
- // for
- for ($i = 0; $i < count($test01); $i++) {
- echo $test01[$i];
- }
- // foreach value only
- foreach ($test01 as $value) {
- echo $value;
- }
- // foreach key and value
- $test01 = array('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
- foreach ($test01 as $key => $value) {
- echo "$key => $value";
- }
2.迭代器遍历
PHP中,迭代遍历主要要用到以下函数。
current() 迭代的当前元素。
reset() 重新移动到第一个元素并返回它。
next() 移动到下一个元素并返回它。
prev() 移动到上一个元素并返回它。
end() 移动到最后一个元素并返回它。
each() 以数组的形式返回当前元素的索引和值,并移动到下一个迭代。
key() 返回当前的索引。
array_ walk() 为每一个元素调用函数。
array_ reduce() 为每一个元素依次计算。
实例代码如下:
- $test01 = array('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
- while (list($key, $value) = each($test01)) {
- echo "$key => $value" . "n";
- }
- array_walk($test01, walk_test);
- function walk_test($key, $value) {
- echo "walk: $key => $value" . "n";
- }
- $test02 = array(1, 2, 3, 4, 5);
- echo array_reduce($test02, reduce_test);
- function reduce_test($run_result, $current_value) {
- return $run_result + $current_value * $current_value;
- }
3.数组的排序
在PHP中,排序方式有三种,通过索引排序、通过值排序(不保留原索引)、通过值排序(保留原索引)。每种又分为升序、降序以及用户定义顺序三个函数。它们分别如下:
通过索引排序:①升序 ksort() ②降序 krsort() ③用户定义顺序 uksort()
不保留原索引值排序:①升序 sort() ②降序 rsort() ③用户定义顺序 usort()
保留原索引值排序:①升序 asort() ②降序 arsort() ③用户定义顺序 uasort()
在PHP中,也可以用array_multisort来一次排序多个数组,不过项目中可能用得比较少。
翻转数组,把数字索引翻转,索引重新从0开始:array_reverse()
把索引和值调换:array_flip()
随机顺序:shuffle()
Tags: PHP学习笔记 PHP数组 数组
- 上一篇:PHP入门教程之数组的定义和赋值
- 下一篇:PHP 数组之PHP基础入门教程
相关文章
- ·PHP学习笔记之数组的定义、遍历(2014-02-10)
- ·php中向数组中插入一元素程序代码(2014-01-03)
- ·php数组删除元素各种方法总结(2014-01-06)
- ·php 数组排序各种方法总结(2014-01-06)
- ·PHP数组的高级遍历和操作处理方法(2014-01-07)
- ·PHP取数组第一个元素与删除数组实例(2014-01-07)
- ·php将数组变量保存到文件(2014-01-08)
- ·php数组操作函数之array_push()函数用法与定义(2014-01-15)
- ·php数组之数组的元素值进行降序排序rsort()函数(2014-01-15)
- ·php数组定义与变量销毁和一维数组排序(2014-01-16)
- ·php中数组遍历循环实现程序(2014-01-16)
- ·php数组排序之多维数组与一维数组(2014-01-16)
- ·php中数组的并集、交集和差集函数介绍(2014-01-16)
- ·php数组定义入门教程详解(2014-02-23)
- ·php给数组赋值(二维数组赋值)详解(2014-02-23)
- ·php数组与对象相互转换方法(2014-05-22)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)