thinkphp留言板开发笔记 1 - 新的
关于php数组的排序函数的总结:
有很多种排序方式和排序规则:
- 正常排序和反向排序, 使用 -r来表示
- 排序时是否考虑索引/下标, 如果考虑则加上-a, a=associate.
sort是按值来排序的, 它不管索引的;如果要考虑顺序或索引, 则加上相应的关键字付.
凡是带k的函数, 一定会保持关联性, 本来就是根据key来排序的, 如果不带k都是根据值来排序的, 不关心key的, 原来有key的, 都会被删除.除非显式的指明用a...
usort: u: user, 用户自定义, 即排序方法,不是常规的(常规的就是比较数字/字母的大小, 按大小顺序进行排序). 而usort, 则是用户自己写一个比较函数, 然后, 将数组按这个自定义的比较函数来进行排序...
usort的 function cmp($a, $b){...}
的写法是: 当返回0, 表示两个元素相等, 返回一个正整数, 表示 $a>$b
, 当返回一个负整数时, 表示 $a<$b
总结: 实际上, 用到的最多不过就是: sort, rsort, asort, arsot, ksort , krsort 就不得了了! 其他的排序基本上是用不到的!
数组的数字索引, 是从0 开始的!
数组的排序函数中, 数字常量: int $sort_flag的值有: SORT_REGULAR, SORT_NUMERIC, SORT_STRING几种. 这个参数, 对于数组中既有数字, 又包含 数字型的"字符串"时, 是很有用的!
PHP的函数原型表示, 在其中的参数, 如果是传地址, 或者是传 引用, 则改变的就是 参数(数组,或字符串等)本身,而不是参数的copy副本..., 如: bool sort(array &$array [, int $sort_flags]). 所以sort就是直接对参数数组本身进行排序, 排序后参数数组本身就会发生改变. 默认的排序顺序是 ascend: 升序!!
natsort = natural sort 按照自然算法来进行排序...
数组中既有数字,又有字符串索引时, 如何按照key来排序? 通常来说, 比较少见, 而且这种情况在实际开发中,也基本不会遇到...
适应id来表示主键是没有错的, 但是也要注意id名称的变化, 以反映具体的含义和数据表id的区别
也可以使用distinct f1, f2 来达到类似主键的效果
实际上, 对单独的一个表坐简单的别名查询通常是无意义的。 一般是两种情况:
- 对一个表, 当作多个表来进行操作
- 对多个表进行联合操作
别名可以对 数据表作别名, 也可以对字段(字段统计、函数操作结果等)进行别名 操作
虽然别名可以省略AS关键字, 但是最好是不要省略, 这样更明晰。
数据库sql语句,中的子查询可以做的结果是:
- 作为一个值
- 作为一个结果集
- 作为一个表
mysql的数据类型:int, tinyint, smallint, mediumint, int ,bigint. 注意的是:表示大小的单词,是tiny, small, medium, big(不是short,long),另一个是两个单词是写在一起的, 如tinyint。