> 백엔드 개발 > PHP 튜토리얼 > 朋友问小弟我一个PHP的有关问题,自己不会,所以跑来问大家!

朋友问小弟我一个PHP的有关问题,自己不会,所以跑来问大家!

WBOY
풀어 주다: 2016-06-13 10:19:51
원래의
908명이 탐색했습니다.

朋友问我一个PHP的问题,自己不会,所以跑来问大家!!
由于自己是搞JAVA的,但朋友问我一个PHP问题,内容如下:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$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"];'));//价格升序,降序改成<font color="#e78608">------解决方案--------------------</font><br>
로그인 후 복사
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);?><br><font color="#e78608">------解决方案--------------------</font><br>
로그인 후 복사
PHP code
foreach ($testArr as $v) {    $k[] = $v['price'];}array_multisort($k, SORT_DESC,$testArr);print_r(array_slice($testArr,0,3));<br><font color="#e78608">------解决方案--------------------</font><br>楼上几位共使用了两种类型的三种方法<br>对比如下
로그인 후 복사
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);<div class="clear">
                 
              
              
        
            </div>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿