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去咯
?>

相关文章

  • php7中停止php-fpm服务的方法详解

    php7中停止php-fpm服务的方法详解

    这篇文章主要给大家介绍了关于php7中如何停止php-fpm服务的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 启用OPCache提高PHP程序性能的方法

    启用OPCache提高PHP程序性能的方法

    今天小编就为大家分享一篇关于启用OPCache提高PHP程序性能的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • DISCUZ 论坛管理员密码忘记的解决方法

    DISCUZ 论坛管理员密码忘记的解决方法

    discuz忘记密码的处理方法也大同小异,一般情况的密码修改工具,也是利用直接将密码写入数据库中。
    2009-05-05
  • php xml 入门学习资料

    php xml 入门学习资料

    今天做项目时遇到一个问题:需要动态更新主页上的图片,以示本站不是做完了就算了,是有人一直在维护。好了,需求有了,如何实现?!
    2011-01-01
  • php设计模式 Proxy (代理模式)

    php设计模式 Proxy (代理模式)

    为其他对象提供一个代理以控制这个对象的访问
    2011-06-06
  • PHP+APACHE实现网址伪静态

    PHP+APACHE实现网址伪静态

    这篇文章主要介绍了PHP+APACHE通过使用mod rewrite模块实现网址伪静态的相关资料,需要的朋友可以参考下
    2015-02-02
  • php实现用户在线时间统计详解

    php实现用户在线时间统计详解

    php实现用户在线时间统计详解,需要的朋友可以参考下。
    2011-10-10
  • php对二维数组按指定键值key排序示例代码

    php对二维数组按指定键值key排序示例代码

    对二维数组按指定键值key排序,对于一些新手朋友或许存在难度,下面为大家介绍下在php中时如何实现的
    2013-11-11
  • php字符串截取函数mb_substr用法实例分析

    php字符串截取函数mb_substr用法实例分析

    这篇文章主要介绍了php字符串截取函数mb_substr用法,结合实例形式分析了php使用mb_substr针对中文字符串截取与编码控制相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • PHP+jquery+ajax实现即时聊天功能实例

    PHP+jquery+ajax实现即时聊天功能实例

    这篇文章主要介绍了PHP+jquery+ajax实现即时聊天功能的方法,实例分析了php聊天功能的信息无刷新提交方法,以及信息发送处理等功能,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12

最新评论