【问题标题】:Custom sorting for first few elements of an array数组前几个元素的自定义排序
【发布时间】:2016-02-12 14:45:39
【问题描述】:

我有一个动态数组,例如:

$myArray = array(1, 2, 3, 4, 5, ...);

如何对$myArray 进行排序以使元素按以下顺序排列:

$finalArray = array(4, 1, 5, 2, 3, ...);

其中前 3 个元素 4, 1, 5 是硬编码的,而数组的其余部分 2, 3, ... 保持不变。

【问题讨论】:

  • 你想要随机播放 $myArray 吗?
  • @BenjaminPoignant 是的自定义排序$myArray 应该输出为$finalArray 的结果
  • 如果你想要随机洗牌,为什么不使用php.net/manual/en/function.shuffle.php
  • 这是什么排序???这种排序是否遵循任何算法?
  • 仅供参考,这不是随机洗牌。我希望首先放置一个值为 4、1 和 5 的数组元素,然后再放在那里。有意义吗?

标签: php arrays sorting


【解决方案1】:

由于第一个元素的顺序是预定义的,所以没有排序:

$finalArray = array_merge([4,1,5],array_diff($myArray,[4,1,5]))

【讨论】:

    【解决方案2】:

    看看usort()函数。

    它让您可以使用自定义排序功能,您可以做任何您想做的事情。

    【讨论】:

      猜你喜欢
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多