【问题标题】:multidimensional array keys reasign多维数组键重新分配
【发布时间】:2012-10-08 08:40:49
【问题描述】:

我在多维数组上苦苦挣扎... 我已合并到数组,我应该为它们分配一个新值,该值应该用作键:

$content = array();
$content[0]['text'] = 'xxxxx';
$content[0]['order']=1

$content[1]['text'] = 'yyyy';
$content[1]['order']=3

$content[2]['text'] = 'yyyyddd';
$content[2]['order']=2

我需要按 content['order'] 值重新排序这个数组,而我在这里遇到了困难。

拜托,我真的需要帮助。

【问题讨论】:

  • 所以你想对顶级数组进行排序,使其尊重子级的 ['order'] 键?你想以哪种方式排序?你试过什么
  • 我尝试重新分配数组中的键 - 我之前做过很多次,但今天都不起作用:(我只需要从低到高显示它们

标签: php multidimensional-array


【解决方案1】:

尝试使用usort

function sort_orders($a, $b) {
    if($a['order'] == $b['order']) 
    {
        return 0;
    }
    return ($a['order'] < $b['order']) ? -1 : 1;
}

usort($content, "sort_orders");

【讨论】:

  • 感谢您的快速帮助...我不得不合并两个不同的表格,结果结果非常复杂,以至于最后我找不到此任务的解决方案 - 我之前尝试过类似的解决方案,没有效果
【解决方案2】:

您可以使用usort() 和比较功能来做到这一点,如下所示:

function cmp($a, $b) {
    if ($a['order'] == $b['order']) {
        return 0;
    }
    return ($a['order'] < $b['order']) ? -1 : 1;
}

usort($content, 'cmp');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 2016-05-24
    • 2010-11-21
    • 2011-11-18
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多