自己的Xiuno开发记录
# 自己的Xiuno开发记录
## arrlist_cond_orderby
```php
function arrlist_cond_orderby(
$arrlist,
$cond = array(),
$orderby = array(),
$page = 1,
$pagesize = 20
) { }
```
arrlist_cond_orderby()是一个函数,它接受一个数据数组(`$arrlist`),并根据您指定的条件和顺序返回该数组的子集。
- 条件(`$cond`)指定为数组,其中每个键是数组中某个字段的名称,值是该字段应具有的值。条件可以是精确值(一维数组),也可以是比较运算符的数组(例如. `>`, `<`, `>=`, `<=`, `==`, `LIKE`)(二维数组的键)。
```php
$cond = array('name' => 'Tom');
$cond = array('age' => array('>' => 18)); //大于号表示最终结果值要大于条件里的值
```
- 顺序(`$orderby`)也指定为数组,其中键是要排序的字段的名称,值是1或0(**升序**为1,**降序**为0)。
```php
$orderby = array('age',0);
```
然后函数循环遍历条件数组,并检查数组(val)中的值是否匹配。
- (一维数组)如果值不匹配,则变量ok设置为false,循环中断。否则,循环将继续……
- (二维数组)如果是数组,则根据子数组中的相应值检查每个运算符,如果其中任何一个失败,则ok设置为false,循环中断。
……如果满足所有条件,则将其添加到结果数组。
检查完所有元素后,将根据指定的顺序对结果数组进行排序,然后返回数组的子集,从指定的页码(`$page`)开始,到`$pagesize`参数指定的元素数。
### 页码的计算方法
获取从`$pagesize * $page`个开始,到`($pagesize * $page) + $pagesize`个元素。
## 趋向于运算符
```php
0) {//注意这里是两个短横线, 并非指针型的成员操作符
printf("conut = %d\n", $conut);
}
?>
```