【问题标题】:Array Sorting in PHP. I need to write my own asort() and ksort() functions? [duplicate]PHP中的数组排序。我需要编写自己的 asort() 和 ksort() 函数吗? [复制]
【发布时间】:2016-06-28 19:19:34
【问题描述】:

所以我有这个数组

$employee_salary = array("Peter"=>35000, "Ben"=>25000, "Joe"=>48000);

我需要对数组进行排序:1)按值,升序 2)按键,升序。

我不允许使用 asort 和 ksort 函数,所以我不知道该怎么做。请问有什么想法吗?谢谢!

【问题讨论】:

  • 了解排序的工作原理 :)
  • @K.Sm。显示预期结果的外观
  • @RyanVincent 这是一个非常常见的编程课作业:)
  • 是的,这是为了分配。一些提示很好,我没想到你会提供完整的代码。只是我们的老师并没有真正深入讲解PHP,所以如果不使用asort和ksort函数,我们真的很难做到。还是谢谢。
  • 手动对数组进行排序有很多不同的方法en.wikipedia.org/wiki/…我建议你选择一种,看看如何模仿这个过程。如果您在尝试中遇到问题,请回来,您将获得所需的帮助。我不建议从保罗发布的链接中盲目复制粘贴,你会被淘汰。

标签: php arrays sorting asort ksort


【解决方案1】:

¿你不能使用任何 php 排序方法,比如 usort() 或 asort()?

如果是:https://joshtronic.com/2013/09/23/sorting-associative-array-specific-key/

如果不是:是的,我猜你必须手动完成,使用 array_walk() 或类似的东西。

【讨论】:

    【解决方案2】:

    我想这是为了学术任务。

    Foreach 循环允许您使用键和值,例如:

    foreach($employee_salary as $employee => $salary){
       //do you comparison here, your manual sorting.
       //You could create 2 arrays here to store the value sort and the name sort.
    }
    

    现在,在 StackOverflow 上,您需要通过代码的可视化给出更具体的答案,但在这种情况下,这意味着我会为您做练习。我不会的:)

    【讨论】:

    • 哈哈谢谢你,反正我没想到这里有人帮我做功课。一些提示很好!
    • 现在你最好的猜测是看看排序算法是如何工作的,并根据它们自己做。排序算法非常有趣,尝试添加您的触摸以使其尽可能优化。此外,对于挑战,在 foreach 循环中,尝试对必须同时排序的两个条目进行排序。获得加分!
    猜你喜欢
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多