当前位置: 编程技术>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 ?>
最新技术文章: