php常用的数组排序函数实例

 更新时间:2016年11月25日 15:52  点击:1812
下面本文章主要讲到关于我们常用的数组排序函数的使用方法与实例了,有arsort asort krsort natcasesort rsort等哦。
$fruits=array(
"d"=>"lemon",
"a"=>"orange",
"b"=>"banana",
"c"=>"apple");       //定义一个数组
arsort($fruits);       //对数组进行逆向排序
foreach($fruits as $key =>$val)    //循环输出排序后数组的键值对
{
  echo "$key=$valn";     //输出内容
}

/*
arsort(array,sorttype)
arsort() 函数对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

可选的第二个参数包含了附加的排序标识。

如果成功则返回 true,否则返回 false。

*/

$fruits=array(
"d"=>"lemon",
"a"=>"orange",
"b"=>"banana",
"c"=>"apple");       //定义一个数组
asort($fruits);       //对数组进行排序
foreach($fruits as $key =>$val)    //循环输出排序后数组的键值对
{
  echo "$key=$valn";     //输出内容
}

/*
定义和用法
asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

可选的第二个参数包含了附加的排序标识。

如果成功则返回 true,否则返回 false。

语法
asort(array,sorttype)

*/

$fruits=array(
"d"=>"lemon",
"a"=>"orange",
"b"=>"banana",
"c"=>"apple");       //定义一个数组
krsort($fruits);       //对数组按照键名进行逆向排序
foreach($fruits as $key =>$val)    //循环输出排序后数组的键值对
{
  echo "$key=$valn";     //输出内容
}

/*
定义和用法
krsort() 函数将数组按照键逆向排序,为数组值保留原来的键。

可选的第二个参数包含附加的排序标志。

若成功,则返回 true,否则返回 false。

语法

krsort(array,sorttype)
*/
$fruits=array(
"d"=>"lemon",
"a"=>"orange",
"b"=>"banana",
"c"=>"apple");       //定义一个数组
ksort($fruits);       //对数组按照键名进行排序
foreach($fruits as $key =>$val)    //循环输出排序后数组的键值对
{
  echo "$key=$valn";     //输出内容
}

/*
ksort 数组按键名排行

ksort() 函数按照键名对数组排序,为数组值保留原来的键。

可选的第二个参数包含附加的排序标志。

若成功,则返回 true,否则返回 false。


该值是 php教程 4.4.0 和 5.0.2 新加的。在 php 6 之前,使用了系统的区域设置,可以用 setlocale() 来改变。自 php 6 起,必须用 i18n_loc_set_default() 函数。


更多详细内容请查看:http://www.111cn.net/phper/24/b87e0d97494df8bc5a426c1a582168b8.htm
*/

//同时定义两个数组

$a1=$a2=array('img0.png','img8.png','img10.png');
sort($a1);        //对数组1进行排序
echo "standard sortingn";
print_r($a1);       //输出正常的排序
natcasesort($a2);      //对数组进行自然排序法且不区分大小写排序
echo "nnatural order sorting (case-insensitive)n";
print_r($a2); 

/*
natcasesort() 函数用不区分大小写的自然顺序算法对给定数组中的元素排序。

natcasesort() 函数实现了"自然排序",即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先,该函数不区分大小写。数组的索引与单元值保持关联。

如果成功,则该函数返回 true,否则返回 false。

语法

natcasesort(array)
*/
$a1=$a2=array('img0.png','img8.png','img10.png');
sort($a1);        //对数组1进行排序
echo "standard sortingn";
print_r($a1);       //输出正常的排序
natsort($a2);       //对数组进行自然排序法排序
echo "nnatural order sortingn";
print_r($a2);       //输出第二种排序的结果

/*
对数组进行自然排序法排序
*/

$fruits=array("lemon","orange","banana","apple");    //定义一个数组
rsort($fruits);           //对数组进行逆向排序
foreach($fruits as $key=>$val)        //循环输出数组排序后的键值对
{
  echo "$key=$valn";         //输出键值对
}

<form enctype="multipart/form-data" action="" method="post">
move_uploaded_file函数演示代码:<br>
<input name="upload_file" type="file" >
<input type="submit" value="上传文件" >
</form>
<?php教程
$upload_file=$_files['upload_file']['tmp_name'];    //获取上传文件信息
$upload_file_name=$_files['upload_file']['name'];    //获取上传文件名称
if($upload_file)           //如果有文件上传执行操作
{
  $store_dir="__file__";         //定义路径
  if(!move_uploaded_file($upload_file,$upload_file_name))  //执行移动上传文件操作
  {
    echo "上传文件失败!";
    exit;
  }
  else            //如果操作成功执行
  {
    echo "上传文件成功!";
  }
}
function randstr($length) {
 $hash = '';
 $chars = 'abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz';
 $max = strlen($chars) - 1;
 mt_srand((double)microtime() * 1000000);
 for($i = 0; $i < $length; $i++) {
  $hash .= $chars[mt_rand(0, $max)];
 }
 return $hash;
}

<?php教程
// 打开文件同时打印文件的每一个字符
if($myfile = fopen("data.txt", "r"))
{
while(!feof($myfile))
{
$mycharacter = fgetc($myfile);//从文件指针中读取字符
print($mycharacter);
}
fclose($myfile);
}
// 打开文件同时打印文件的每一行
if($myfile = fopen("data.txt", "r"))
{
while(!feof($myfile))
{
$myline = fgets($myfile, 255);//从文件指针中读取一行
print($myline);
}
fclose($myfile);
}
/* 打开文件同时打印文件的每一行,
同时去掉取回字符串中的 html 语言
*/
if($myfile = fopen("data.txt", "r"))
{
while(!feof($myfile))
{
$myline = fgetss($myfile, 255);//从文件指针中读取一行并过滤掉 html 标记
print($myline);
}
fclose($myfile);
}
?>

<?php教程

class download
{
    var $url;//远程文件地址

    var $file_name = "hdwiki.zip";//下载来的文件名称

    var $save_path = "./updatefile";//下载到本地的文件路径

    var $localfile;//下载到本地文件的路径和名称

    var $warning;//警告信息

    var $redown=0;//是否重新下载


    /*初始化*/
    function seturl($url)
    {
         if(!empty($url))$this->url = $url;
    }

    function setfilename($file_name)
    {
     if(!empty($file_name))$this->file_name = $file_name;
    }

    function setsavepath($save_path)
    {
     if(!empty($save_path))$this->save_path = $save_path;
    }

    function setredown($redown)
    {
     if(!empty($redown))$this->redown = $redown;
    }

    function download($url, $redown = 0, $save_path = 0, $file_name = 0)
    {
        $this->seturl($url);
        $this->setfilename($file_name);
        $this->setsavepath($save_path);
        $this->setredown($redown);
        if(!file_exists($this->save_path))
        {
            $dir = explode("/",$this->save_path);
            foreach($dir as $p)
            mkdir($p);
        }
   }
  
    /* 检查url合法性函数 */
    function checkurl(){
        return preg_match("/^(http|ftp)(://)([a-za-z0-9-_]+[./]+[w-_/]+.*)+$/i", $this->url);
    }

    //下载文件到本地

    function downloadfile()
    {
        //检测变量

        $this->localfile = $this->save_path."/".$this->file_name;
         if($this->url == "" || $this->localfile == ""){
                 $this->warning = "error: 变量设置错误.";
             return $this->warning;
        }

        if (!$this->checkurl()){
            $this->warning = "error: url ". $this->url ." 不合法.";
               return $this->warning;
            }

        if (file_exists($this->localfile)){
            if($this->redown)
            {
                unlink($this->localfile);
            }
            else
            {
                $this->warning = "warning: 升级文件 ". $this->localfile ." 已经存在! <a href='?action=download&redown=1' target='_self'>重新下载</a>";
                return $this->warning;
             //exit("error: 本地文件 ". $this->localfile ." 已经存在,请删除或改名后重新运行本程序.");

            }
        }

        //打开远程文件

        $fp = fopen($this->url, "rb");
        if (!$fp){
            $this->warning = "error: 打开远程文件 ". $this->url ." 失败.";
             return $this->warning;
        }

     //打开本地文件

     $sp = fopen($this->localfile, "wb");
     if (!$sp){
         $this->warning = "error: 打开本地文件 ". $this->localfile ." 失败.";
         return $this->warning;
     }

     //下载远程文件

     //echo "正在下载远程文件,请等待";

     while (!feof($fp)){
     $tmpfile .= fread($fp, 1024);
     //echo strlen($tmpfile);

     }
       //保存文件到本地

       fwrite($sp, $tmpfile);
     fclose($fp);
     fclose($sp);
    
     if($this->redown)
             $this->warning = "success: 重新下载文件 ". $this->file_name ." 成功";
     else
             $this->warning = "success: 下载文件 ". $this->file_name ." 成功";
             
     return $this->warning;
    }
}
?>

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • C# 拷贝数组的几种方法(总结)

    下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • PHP 二维数组根据某个字段排序的具体实现

    本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25