PHP 数组学习排序全接触第2/2页

 更新时间:2009年08月07日 00:52:34   作者:  
PHP4函数手册 array里的算是看完咯, 明天在看看最新的手册。。。。

each($arr) array
重数组$arr中返回一对 key/value也就是 下标/值
复制代码 代码如下:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => c);
$res = each($arr);
print_r($res); //结果为 array('0' => 'a', 'key' => 'a', 1 => 1, 'value' => 1)
//返回结果 0 和 key 都代表 下标 1 和 value 代表值
//没使用一次each数组内部指针就会向下移动一次, 如果已经是数组末端, 将返回false
$res = each($arr);
print_r($res); //结果就会变成 array('0' => 'b', 'key' => 'b', 1 => 2, 'value' => 2)
?>

list($val, .. , [$val]) void 无返回值
把数组中的值赋给一些变量$val
复制代码 代码如下:

<?php
$arr = array('颜色', '字母A', '字母B');
list($color, $a, $b) = $arr; //注意这里list的参数$val 位置是和数组中的位置对应, 重左到右
echo $color; //结果 '颜色'
echo $a; //结果 '字母A'
list($color, , $b) = $arr; //这样空一个
echo $color; //结果 '颜色'
echo $a; //结果 一样都没有, 因为就没给a赋值哦, 哪里也空出来咯
echo $b; //结果 '字母B'
//list each 一起用
$arr = array('颜色', '字母A', '字母B');
while(list($key, $val) = each($arr)) {
echo '下标:' . $key;
echo '----值:' . $val;
echo '<br>';
}
//输出结果为
//下标:0----值:颜色
//下标:1----值:字母A
//下标:2----值:字母B
?>

krsort($arr, [$type]) bool
对数组$arr按照其下标进行倒序排列
还有一个ksort(); 这个是按下标进行升序排列
$type 是排序方式
复制代码 代码如下:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3);
krsort($arr);
print_r($arr); //打印结果: array('c' => 3, 'b' => 2, 'a' => 1);
?>

range($go, $end, [$setup) array
这个有点不好解释
复制代码 代码如下:

<?php
$arr = range(1, 10);
print_r($arr); //结果array(1, 2, 3, 4, .., 10);
$arr = range(1, 10, 2); //这里指定第三个参数, 也就是步长
print_r($arr); //结果array(1, 3, 5, 7, 9);
$arr = range('a', 'z');
print_r($arr); //结果 array('a', 'b', 'c', ..., 'z');
?>

sort($arr);
将数组重a-z进行排序
复制代码 代码如下:
<?php
$arr = array("lemon","orange","banana","apple");
sort($arr);
print_r($arr); //结果array('apple', 'banana', 'lemon', 'orange');
//还有个z-a进行排序的函数rsort
?>

shuffle($arr) bool
将数组$arr进行乱排序, 也就是随机排序
复制代码 代码如下:

<?php
$arr = range(1, 10);
shuffle($arr);
print_r($arr); //结果是什么我也不知道, 因为是随机的
?>

usort($arr, $func) bool
使用你自己定义的函数对$arr进行排序$func是自定义函数
复制代码 代码如下:

<?php
$arr = array(1, 5, 8 ,2 ,0 ,3);
usort($arr, 'test');
function test($a, $b) {
return $a == $b ? 0 : $a < $b ? 1 : -1;
}
print_r($arr); //打印结果 Array ( [0] => 8 [1] => 5 [2] => 3 [3] => 2 [4] => 1 [5] => 0 )
// 这函数没弄懂哦。。 不知道参数$a , $b 代表的是什么? 看手册也没看懂, 如果这么简单的排序用ksort就行咯rsort
// 这样的函数还有两个 uksort,和uasort都没弄懂, 郁闷。。。
?>

总结一下
复制代码 代码如下:

<?php
array_values() //返回数组中所有元素
array_walk() //使用自定义函数遍历数组都一个单元
arsort(); //保留数组下标于值的关系进行倒序排列
asort() //保留数组下标于值的关系进行正序排列
compact() //将变量导入到数组中, 以变量名为下标, 值为值
extract() //将数组导入到变量, 下标为变量名, 值为值
count() //统计数组有多少个元素
current() //当前指针所指元素
next() //指针向下移动
prev() //指针向上移动
end() //指针移动到数组末尾
reset() //指针移动到数组开头
key() //返回当前指针所指元素的下标
each() //返回一对 key/value
list() //将数组导入到变量中
krsort() //按照下标进行倒序排列
ksort() //按照下标进行升序排列
range() //创建数组
sort() //按值重小到大排列
rsort() //按值重大到些排列
shuffle() //随机排列
usort() //......无语这个函数, Google去咯
?>

相关文章

  • php保存二进制原始数据为图片的程序代码

    php保存二进制原始数据为图片的程序代码

    得到post过来的二进制原始数据,选择一个生成路径及图片的名字,之后写入,思路很显而易见,需要的朋友可以收藏下
    2014-10-10
  • PHP无刷新上传文件实现代码

    PHP无刷新上传文件实现代码

    PHP无刷新上传文件实现代码,使用php的朋友可以参考下。
    2011-09-09
  • php include,include_once,require,require_once

    php include,include_once,require,require_once

    其实PHP包含文件的这四个函数,很多人还是没完全明白的,虽然用的时候多,但是具体某些地方该怎么用,用那一个,我就献丑一把.
    2008-09-09
  • PHP中文乱码解决方案

    PHP中文乱码解决方案

    PHP+MYSQL做网站开发通常都会碰到浏览器输出中文字符时乱码,这个问题的原因主要是因为HTML内容编码,PHP文件编码和MySQL数据库编码这三者不一致造成的。今天我们来具体探讨下出现中文乱码后的解决方案。
    2015-03-03
  • 通过PHP设置BugFree获取邮箱通知

    通过PHP设置BugFree获取邮箱通知

    在本篇文章里小编给大家分享了关于通过PHP设置BugFree获取邮箱通知的相关知识点内容,需要的朋友们跟着学习下。
    2019-04-04
  • PHP生成随机用户名和密码的实现代码

    PHP生成随机用户名和密码的实现代码

    使用PHP生成随机数可以应用在许多地方,比如可以设计程序的随机密码、模拟掷骰子游戏的应用程序、石头剪子布游戏应用程序等等
    2013-02-02
  • php定期拉取数据对比方法实例

    php定期拉取数据对比方法实例

    这篇文章主要给大家介绍了关于php定期拉取数据对比的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用php具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • 20个PHP常用类库小结

    20个PHP常用类库小结

    下面是一些非常有用的PHP类库,相信一定可以为你的WEB开发提供更好和更为快速的方法。
    2011-09-09
  • php简单分页类实现方法

    php简单分页类实现方法

    这篇文章主要介绍了php简单分页类实现方法,实例分析了php分页类的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • php生成HTML文件的类方法

    php生成HTML文件的类方法

    在本篇文章里小编给大家整理的是关于用php生成HTML文件的类的相关知识点,有需要的朋友们学习下。
    2019-10-10

最新评论