当前位置:  编程技术>php
本页文章导读:
    ▪php 数组排序的实例代码      php 数组排序,代码分享。 如下: <?php /** // @param array $list 查询结果 // @param string $field 排序的字段名 // @param array $sortby 排序类型 // asc正向排序 desc逆向排序 nat自然排序 // edit by wwww. *.........
    ▪php下载文件的函数示例(图文)      php下载文件的函数举例,如下: <?php /** * php下载文件 * $filename=$_SERVER['DOCUMENT_ROOT']."/test/file/20130503/20130503150036_85945.doc"; * $title="下载测试9"; * down($filename,$title); * edit by www. */ //$filename.........
    ▪php 调用用户自定义函数的方法详解      在php中调有自定义函数,经常会用到call_user_func函数、call_user_func_array函数、call_user_func函数。 1,call_user_func函数类似于一种特别的调用函数的方法,使用方法如下: <?php //call_user_func函数.........

[1]php 数组排序的实例代码
    来源: 互联网  发布时间: 2013-12-24

php 数组排序,代码分享。

如下:

<?php
/**
// @param array $list 查询结果
// @param string $field 排序的字段名
// @param array $sortby 排序类型
// asc正向排序 desc逆向排序 nat自然排序
// edit by wwww.
*/
function list_sort_by($list,$field, $sortby='asc') {
   if(is_array($list)){
       $refer = $resultSet = array();
       foreach ($list as $i => $data){
           $refer[$i] = &$data[$field];
  switch ($sortby) {
  case 'asc': // 正向排序
     asort($refer);
     break;
  case 'desc':// 逆向排序
     arsort($refer); print_r($refer);echo '</br>';
     break;
  case 'nat': // 自然排序
natcasesort($refer);
  break;
  }
  } 
  foreach ( $refer as $key=> $val){
     $resultSet[] = &$list[$key];
  } 
 return $resultSet;
}
 return false;
}
$arr = array(
1 => array('id'=>1,'pid'=>0),
2 => array('id'=>2,'pid'=>1),
3 => array('id'=>3,'pid'=>1),
4 => array('id'=>4,'pid'=>3)
);
 
$list = list_sort_by($arr,'id','desc'); print_r($list);
?>

    
[2]php下载文件的函数示例(图文)
    来源: 互联网  发布时间: 2013-12-24

php下载文件的函数举例,如下:

<?php
/**
* php下载文件
* $filename=$_SERVER['DOCUMENT_ROOT']."/test/file/20130503/20130503150036_85945.doc";
* $title="下载测试9";
* down($filename,$title);
* edit by www.
*/ 
//$filename 必须是路径,不是url
 function down($filename,$title=''){
     $file = fopen($filename,"r"); 
     $filesize = filesize($filename);
     $encoded_filename = urlencode($title);
     $encoded_filename = str_replace("+", "%20", $title);
     $ua = $_SERVER["HTTP_USER_AGENT"];
     if (preg_match("/MSIE/is", $ua)) {  
         $file_name = urlencode($title);
         header("Pragma: public"); header("Expires: 0");
         header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
         header("Content-Type: application/force-download");
         header('Content-Type: application/vnd.ms-excel; charset=utf-8');
         header("Content-Transfer-Encoding: binary");
         header('Content-Disposition: attachment; filename='.$file_name);
     } else {
        header('Content-Type: application/octet-stream');
         if (preg_match("/Firefox/is", $ua)) {  
            header('Content-Disposition: attachment; filename*="utf8\'\'' . $title . '"');
         } else {  
            header('Content-Disposition: attachment; filename="' . $title . '"');
         }
     }
    echo fread($file, $filesize);
    fclose($file);
}
?>

运行效果如下图:


    
[3]php 调用用户自定义函数的方法详解
    来源: 互联网  发布时间: 2013-12-24

在php中调有自定义函数,经常会用到call_user_func函数、call_user_func_array函数、call_user_func函数。

1,call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:

<?php
//call_user_func函数
//by www.
function a($b,$c)   
{   
echo $b;   
echo $c;   
}   
call_user_func('a', "111","222");   
call_user_func('a', "333","444");   
//显示 111 222 333 444   
?>

调用类内部的方法比较奇怪,用到了array,省去了new操作,在一定程度上节省了资源:

<?php
class a {   
function b($c)   
{   
echo $c;   
}   
}   
call_user_func(array("a", "b"),"111");   
//显示 111   
?>

2,call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰。  
例如:

<?php
//call_user_func_array 调用自定义函数
//by www.
function a($b, $c)   
{   
echo $b;   
echo $c;   

}   
call_user_func_array('a', array("111", "222"));   
//显示 111 222   
?>

call_user_func_array函数也可以调用类内部的方法。
例如:

<?php
Class ClassA   
{
function bc($b, $c) {   
     $bc = $b + $c;   
echo $bc;   
}   
}   
call_user_func_array(array('ClassA','bc'), array("111", "222"));   

//显示 333   
?>

3,call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致:

<?php
//call_user_func函数 调用自定义函数
//by www.
function a($b)   
{   
$b++;   
}   
$c = 0;   
call_user_func('a', $c);   
echo $c;//显示 1   
call_user_func_array('a', array($c));   
echo $c;//显示 2  
?>

另外,call_user_func函数和call_user_func_array函数都支持引用。

<?php
function increment(&$var)
{
    $var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a; // 0
call_user_func_array('increment', array(&$a)); // You can use this instead
echo $a; // 1
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪PHP 数组key长度对性能的影响实例分析 iis7站长之家
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3