<?php
/**
by lenush;
*/
class Tree
{
var $data = array();
var $child = array(-1=>array());
var $layer = array(-1=>-1);
var $parent = array();
function Tree ($value)
{
$this->setNode(0, -1, $value);
} // end func
function setNode ($id, $parent, $value)
{
$parent = $parent?$parent:0;
$this->data[$id] = $value;
$this->child[$id] = array();
$this->child[$paren ......
<?php
$array[] = array("id"=>20,"name"=>"li");
$array[] = array("id"=>21,"name"=>"ai");
$array[] = array("id"=>20,"name"=>"ci");
$array[] = array("id"=>22,"name"=>"di");
foreach ($array as $key=>$value){
$age[$key] = $value['id'];
}
array_multisort($age,SORT_NUMERIC,SORT_ASC,$array);
print_r($array);
?>
运行结果:
Array (
[0] => Array ( [id] => 20 [name] => ci )
[1] => Array ( [id] => 20 [name] => li )
[2] => Array ( [id] => 21 [name] => ai )
[3] => Array ( [id] => 22 [name] => di )
)
定义和用法
array_multisort() 函数对多个数组或多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:
SORT_ASC - 默 ......
今天工作中遇到了POST数据的问题,需要向一个特定的URL发送POST数据。
现将PHP发送POST数据的方式总结下,方便自己造福后人:
方法一:HTTP函数发送方式
说明:$data为POST发送的数据:$key为参数名,$val为参数值
$URL = "http://pre.payment.sdoa.sdo.com/";
$data = $key1."=".val1."&".$key2."=".val2;
$PostResult = http_post_data($BGWURL,$data );
方法二:Curl Post数据
function _curl_post($url, $vars) {
$ch = curl_init();
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_HEADER, 0 ) ;
curl_setopt($ch, CURLOPT_POSTFIELDS, "var=".$vars);
$data = curl_exec($ch);
curl_close($ch);
if ($data)
return $data;
else
return false;
}
方法三:fsockopen方式
说明:$data为POST发送的数据:$data为数组形式
function posttohost($url, $data) {
$url = parse_url($url);
if (!$url) return "could ......
对于运行在apache里的php应用来说,static变量的作用域是一次http请求。
可以通过以下代码进行验证:
<?php
# test.php
function test(){
static $sss = 0;
++$sss;
echo $sss;
}
test();
?>
访问/test.php ,可以看到,总是echo出1。
ps:生命域还有,一个http线程周期,这种全局变量需要在php扩展中声明。 ......
; 本文并非是对英文版 php.ini 的简单翻译,而是参考了众多资料以后,结合自己的理解,增加了许多内容,
; 包括在原有 php.ini 基础上增加了一些实用模块的配置说明,同时对文件内容的安排进行了调整。
; 由于作者不喜欢 no-free 的玩意儿,所以删除了除 MySQL 和 PostgreSQL 以外的其他数据库模块配置选项。
;;;;;;;;;;;;;;;;;
;; 关于php.ini ;;
;;;;;;;;;;;;;;;;;
; 这个文件必须命名为’php.ini’并放置在httpd.conf中的PHPIniDir指令指定的目录中。
; 最新版本的php.ini可以在下面两个位置查看:
; http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=co
; http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co
;;;;;;;;;;;;
;; 语法 ;;
;;;;;;;;;;;;
; 该文件的语法非常简单。空白字符和以分号开始的行被简单地忽略。
; 章节标题(例如: [php])也被简单地忽略,即使将来它们可能有某种意义。
;
; 设置指令的格式如下:
; directive = value
; 指令名(directive)是大小写敏感的!所以”foo=bar”不同于”FOO=bar”。
; 值(value)可以是:
; 1. 用引号界定的字符串(如:”foo”)
; 2. ......
如果不具备修改php.ini的权限,可以如下:
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
当然,如果能够修改php.ini的话,如下即可:
display_errors = On
error_reporting = E_ALL & ~E_NOTICE ......