PHP 4.0 时尚编程百例 —  实例 52  数组排序的使用

林继 PHP 技术 4,716 共写了790个字 (2005-06-03 9:56:13) 没有评论 打印 扫描二维码 百度已收录

实例说明

本例将介绍如何用函数对数组进行排序。asort()函数,这个函数将数组的值重新排序,由小至大排列。数组的索引亦跟着值的顺序而变动。当用户在程序中需要重新整理数组值的顺序时,就可以使用这个函数。同时也是用到了其他与数组相关的函数,这些都是在数组操作中必要的基本知识。

编程思路

首先通过 array() 函数构造——个数组型的变量$users:

  1. $users=array("bob"=>"Yobert",
  2.            "steve"=>"Btephen",
  3.            "jon"=>"Aonathon");

通过循环指令,打印出基本的数组的排列顺序,主要目的是为了比较数组排列后的结果。
然后通过 asort()函数,对数组进行排列,再次通过循环指令打印出排列后的数组的结果.

创作步骤

一、构造一个数组型的变量$users

数组变量的结果为;

user[bob]=Yobert,
user[steve]=Btephen,
user[jon]=Aonathon.

二、打印原始数组的排列

通过打印原始数组的排列,可以比较数组排列函数的作用.

  1. for(reset($users);$index=key($users);next($users))
  2.  {
  3.   print("$index:$users&91;$index&93;<br>n");
  4.  }

排列打印的时候,用到了有3个较重要的函数 reset(),key(),next().
reset() 函数将数组的指针重置,将指针改指到数组的第1个元索,传回值的内容也是数组的第1个元
素;key()函数从当前数组的指针,传回其索引;next()这个函数传回数组下个元素的内部指针,若没有下个元素,则传回 false 值。当然,若是一个空的数组,它也传回 false 值。

三、使用排序函数,打印排序后的数组

打印排序后的数组,与先前的打印结果比较.

四、本例程序代码

  1. <HTML>
  2. <HEAD>
  3. <TITLE>数组排序的使用</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <?php
  7.        // 构造一个数组变量
  8.        $users=array("bob"=>"Yobert",
  9.                              "steve"=>"Btephen",
  10.                              "jon"=>"Aonathon");
  11.        for(reset($users);$index=key($users);next($users))
  12.        {
  13.                print("$index:$users&91;$index&93;<br>n");
  14.        }
  15.        print("<hr>");
  16.        // 使数组排序
  17.       asort($users);
  18.       // 打印排序后的数组
  19.       for(reset($users);$index=key($users);next($users))
  20.       {
  21.                print("$index:$users&91;$index&93;<br>n");
  22.        }
  23. ?> 
  24. <?php
  25.         // 构造一个数组变量
  26.         $users=array("bob"=>"Yobert",
  27.                               "steve"=>"Btephen",
  28.                               "jon"=>"Aonathon");
  29.          while(list($key,$value)=each($users))
  30.          {
  31.                 echo "<pre>$key : $value

“;
}
print(“


“);
// 使数组排序
asort($users);
// 打印排序后的数组
while(list($key,$value)=each($users))
{
echo “

$key : $value

“;
}
?>

历史上的今天

6月
3

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >