朋友问小弟我一个PHP的有关问题,自己不会,所以跑来问大家!
程序员文章站
2022-06-14 08:32:33
...
朋友问我一个PHP的问题,自己不会,所以跑来问大家!!
由于自己是搞JAVA的,但朋友问我一个PHP问题,内容如下:
请问如何按价格字段进行排序??
借助库函数解决也行!!
------解决方案--------------------
嗯,你是搞JAVA的,价格最贵啊
由于自己是搞JAVA的,但朋友问我一个PHP问题,内容如下:
- PHP code
$testArr = array( 'php' => array( 'author' => 'allen', 'price' => 40, ), 'java' => array( 'author' => 'james', 'price' => 55, ), 'mysql' => array( 'author' => 'gates', 'price' => 30, ), 'html' => array( 'author' => 'bill', 'price' => 21, ) );
请问如何按价格字段进行排序??
借助库函数解决也行!!
------解决方案--------------------
嗯,你是搞JAVA的,价格最贵啊
- PHP code
uasort($testArr, create_function('$a,$b', 'return $a["price"]>$b["price"];'));//价格升序,降序改成------解决方案--------------------
- PHP code
$testArr = array( 'php' => array( 'author' => 'allen', 'price' => 40, ), 'java' => array( 'author' => 'james', 'price' => 55, ), 'mysql' => array( 'author' => 'gates', 'price' => 30, ), 'html' => array( 'author' => 'bill', 'price' => 21, ) ); function my_sort($a, $b){ return $a['price'] > $b['price']; } uasort($testArr, "my_sort"); print_r($testArr); ?>
------解决方案--------------------
- PHP code
foreach ($testArr as $v) { $k[] = $v['price']; } array_multisort($k, SORT_DESC,$testArr); print_r(array_slice($testArr,0,3));
------解决方案--------------------
楼上几位共使用了两种类型的三种方法
对比如下
- PHP code
$testArr = array( 'php' => array( 'author' => 'allen', 'price' => 40, ), 'java' => array( 'author' => 'james', 'price' => 55, ), 'mysql' => array( 'author' => 'gates', 'price' => 30, ), 'html' => array( 'author' => 'bill', 'price' => 21, ) ); /*** 应用回调函数 ***/ function func1($ar) { uasort($ar, create_function('$a,$b', 'return $a["price"]>$b["price"];'));//价格升序,降序改成 $row) { $price[$key] = $row['price']; } array_multisort($price, SORT_ASC,$ar); } /*** 应用 php5.3 闭包 ***/ function func3($ar) { array_multisort(array_map(function($v){return $v['price'];},$ar),$ar); } check_speed(200, 'func2', $testArr); check_speed(200, 'func3', $testArr); check_speed(200, 'func1', $testArr);相关文章
相关视频