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

php中文网
发布: 2016-06-13 13:33:47
原创
992人浏览过

朋友问我一个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"]&gt;$b["price"];'));//价格升序,降序改成<font color="#e78608">------解决方案--------------------</font><br>
登录后复制
PHP code


    $testArr = array(
        'php' =&gt; array(
            'author' =&gt; 'allen',
            'price' =&gt; 40,
        ),
        'java' =&gt; array(
            'author' =&gt; 'james',
            'price' =&gt; 55,
        ),
        'mysql' =&gt; array(
            'author' =&gt; 'gates',
            'price' =&gt; 30,
        ),
        'html' =&gt; array(
            'author' =&gt; 'bill',
            'price' =&gt; 21,
        )
    );
    function my_sort($a, $b){
      return $a['price'] &gt; $b['price'];
    }
    uasort($testArr, "my_sort");
    print_r($testArr);
?&gt;
<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' =&gt; array(
        'author' =&gt; 'allen',
        'price' =&gt; 40,
    ),
    'java' =&gt; array(
        'author' =&gt; 'james',
        'price' =&gt; 55,
    ),
    'mysql' =&gt; array(
        'author' =&gt; 'gates',
        'price' =&gt; 30,
    ),
    'html' =&gt; array(
        'author' =&gt; 'bill',
        'price' =&gt; 21,
    )
);

/*** 应用回调函数 ***/
function func1($ar) {
  uasort($ar, create_function('$a,$b', 'return $a["price"]&gt;$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速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号