最近弄一个二次开发的API接口,一直在找PHP是否可以直接对二维数组中的某个键名进行排序,平时PHP对一维数组的排序比较简单,但是当我们在读取数据库写入数组后,可能经过一系列复杂的操作,最后形成一个二维数组,那次是如果为了更好的浏览数据,就必须对这个二维数组按不同键名进行排序。
查了下手册PHP本身有一个多维数组排序的函数:

bool array_multisort ( array $arr1 [, mixed $arg [, mixed $… [, array $… ]]] )

下面是手册当中对于array_multisort函数的描述:

array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。
关联(string)键名保持不变,但数字键名会被重新索引。
输入数组被当成一个表的列并以行来排序――这类似于 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。

  1. 直接打开终端输入下面命令自动下载安装运行环境

sudo apt-get install apache2

sudo apt-get install mysql-server

sudo apt-get install php5-common

sudo apt-get install php5-gd

sudo apt-get install php5-mysql

sudo apt-get install libapache2-mod-php5

  1. 配置环境

a).配置php5

sudo gedit /etc/php5/apache2/php.ini

最近接触到一个新名词:单例模式。
刚开始一直百思不得其解,百度的结果居然是平时看到的 Db::getInstance()-> ,原来这个就是所谓的单例模式。
先看我们平时使用的方法

class Category{ //定义一个获取分类方法 function getCategory() { //这时我们不得不重新初始化一个数据库句柄,试想多个应用场景下,这样的代码是多么可怕啊?! $db = new DB(); $db->query($sql); //当然也可以使用全局变量 global $db; //但一般在OPP编程中,不使用这样的方法,同时global存在安全隐患 //同时单例模式恰恰是对全局变量的一种改进,避免了那些存储唯一实例的全局变量污染命名空间 } }

倘若采用单例模式

class Category{ //定义一个获取分类方法 function getCategory() { //所有的应用情景只有一个数据库句柄资源,嘿嘿,效率老高了, //资源也大大的得到节省,代码简洁明了:) $query = Db::getInstance()->query($sql); $array = Db::getInstance()->fetch_array($query); } }

  IE6 IE7 FF
* ×
!important ×
下划线(_) × ×

于是可以这样来区分IE6,IE7,firefox

background:orange !important; *background:green; _background:blue;

经常发现在IE6中,line-height属性经常会失效,其实不然,当全文字的时候,line-height属性仍然有效,只有当文字和img、input、textarea、select、object等对象在同一个容器中的时候,line-height属性在这些非文字的对象中就会失效。

解决方法:
在其中一个非文字的对象的样式中增加:
margin: (容器的line-height – 对象本身的高度)/2px 0;
vertical-align:middle;