易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP二维数组排序

 PHP本身是有一个多维数组排序的函数的。
bool
array_multisort
( array
$ar1
[, mixed
$arg
[, mixed
$...
[, array
$...
]]] )
下面是手册当中对于array_multisort函数的描述:
array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。
关联(string)键名保持不变,但数字键名会被重新索引。
输入数组被当成一个表的列并以行来排序――这类似于 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。
从手册中看到,PHP本身的多维排序,是按照第一个数组进行排序,并且调整后面的顺序。像这样的数组:
array( 'id' => array(1,3,2),
          'data'=>array('a','c','b'))
只要按照id进行多维排序,就可以了。但是很多时候,我们构造出的数组是这样的:
array(
            array('id'=>1,'data'=>'a'),
            array('id'=>3,'data'=>'c'),
            array('id'=>2,'data'=>'b')
        );
数组的元素是按行排列的,需要按其中的一列进行排序。PHP好像也没提供类似矩阵转置的函数,所以不能直接使用array_multisort进行多维排序。不过只需要先把排序的列抽取出来,作为第一个参数传给array_multisort即可。
function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){
if(is_array($multi_array)){
foreach ($multi_array as $row_array){
if(is_array($row_array)){
$key_array[] = $row_array[$sort_key];
}else{
return -1;
}
}
}else{
return -1;
}
array_multisort($key_array,$sort,$multi_array);
return $multi_array;
}



相关文档:

ubuntu 9.10 安装 php mysql apache(LAMP)

 一、安装
1. 首先安装SSH
sudo apt-get install ssh
2.安装MySQL(虽然现在最新版为5.1,但是还只能装5.0版本)
sudo apt-get install mysql-server-5.0
3.安装Apache
sudo apt-get install apache2
4.安装PHP
sudo apt-get install php5 libapache2-mod-php5
5.重启Apache
sudo /etc/init.d/apache2 restart ......

PHP码农进化史2

1.是否可以在类的外部访问一个属性是由访问修饰符来确定的。
2.从类的外部直接访问类的属性是糟糕的想法。面向对象的一个方法就是鼓励封装。在PHP中,我们一般通过__get()与__set()函数来实现对
属性的访问.如果不直接访问一个类的属性而是编写访问函数,那么可以通过一段代码执行所有访问。最初的访问函数如下所示:
cla ......

PHP 小技巧

=================================
mb_substr($str, 0, 1, "gbk");
如果提供了第四个参数,php会解析这个参数
1. 将这个参数转换成字符串.
2. 调用mbfl_name2no_encoding获得编码器序号
3. 第二步会调用mbfl_name2encoding,这个函数在循环中使用了strcasecmp
strcasecmp是忽略大小写的字符串匹配,性能很低, ......

PHP构造函数

 class A extends father{
    function __construct() {
        echo "abstract<br>";
            parent::base();     //父类方法
      &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号