【问题标题】:Sorting an array对数组进行排序
【发布时间】:2010-08-31 16:09:09
【问题描述】:

如果我有一个数据数组,对它们进行排序的最佳选择是什么,以便它们根据每个 ArrayObject 中第二个数组的键 2 按字母升序显示?

数据

ArrayObject::__set_state(array(
   'job_category_filter_population' => 
  ArrayObject::__set_state(array(
     10225 => 
    ArrayObject::__set_state(array(
       0 => 
      array (
        0 => '10042',
        1 => 'Root',
      ),
       1 => 
      array (
        0 => '10225',
        1 => 'Supply',
      ),
    )),
     10228 => 
    ArrayObject::__set_state(array(
       0 => 
      array (
        0 => '10042',
        1 => 'Root',
      ),
       1 => 
      array (
        0 => '10228',
        1 => 'X-ray',
      ),
    )),
     10226 => 
    ArrayObject::__set_state(array(
       0 => 
      array (
        0 => '10042',
        1 => 'Root',
      ),
       1 => 
      array (
        0 => '10226',
        1 => 'Team',
      ),
    ))
  ))
))

例如补给、团队,然后是 X 射线?

【问题讨论】:

    标签: php sorting arrayobject


    【解决方案1】:

    可以使用ArrayObject::uasort 并提供一个回调函数来比较其参数的第二个数组的第二个元素。

    【讨论】:

    • 谢谢,我快速浏览了一下,但我不完全确定传递给函数 cmp 的内容。什么是 $a,什么是 $b?
    • $a$b 是数组中需要比较的两项。因为您有一个多维数组,所以您需要访问您的可比较值,例如 $a[0]$b[0]。虽然这可能是错误的,因为您的数组很难以当前格式遵循。
    • 我不明白如何使用它来按字母升序对数组进行排序。
    • 比较函数提供了数组中的两个元素,并且应该返回最终顺序中第一个元素应该放在第二个元素之前还是之后。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-15
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多