现有如下数组:
$userlist = array( array( 'id' => 1, 'name' => '张三', 'age' => 20 ), array( 'id' => 2, 'name' => '李四', 'age' => 18 ), array( 'id' => 3, 'name' => '王五', 'age' => 25 ), array( 'id' => 4, 'name' => '赵六', 'age' => 22 ) );
如果需要对以上数组进行根据年龄字段(age)来排序,可以参考以下代码:
//根据指定元素对数组排序方法 private function array_sort($arr,$keys,$type='asc'){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v){ $keysvalue[$k] = $v[$keys]; } if($type == 'asc'){ asort($keysvalue); }else{ arsort($keysvalue); } reset($keysvalue); foreach ($keysvalue as $k=>$v){ $new_array[$k] = $arr[$k]; } return $new_array; }
然后使用以上方法即可:
$this->array_soft($userlist, 'age', 'asc');
最后我们看看打印的结果(以age字段正序排序):
Array( [1] => Array ( [id] => 2 [name] => 李四 [age] => 18 ) [0] => Array ( [id] => 1 [name] => 张三 [age] => 20 ) [3] => Array ( [id] => 4 [name] => 赵六 [age] => 22 ) [2] => Array ( [id] => 3 [name] => 王五 [age] => 25 ) )
转载请注明: haoshu发表于浩叔逛逛>>https://www.haoshu888.com/php/870.html