我有一个问题,我需要修复迟早。如果我不得不重写整个剧本我会的时间,但这样是一个程序员的生活,对吗? anywho,我已经采取在项目和我有一个多维混合缔/数字数组,像这样:

Array
(
    [item1] => Array
        (
            [dataset] => Array()
            [3] => Array()
            [7] => Array()
        )
    [item2] => Array
        (
            [dataset] => Array()
            [4] => Array()
            [19] => Array()
            [2] => Array()
        )
)

我需要做的是移位的数据集中的每个的索引的 itemX 索引是最后一个索引以导致这样的:

Array
(
    [item1] => Array
        (
            [3] => Array()
            [7] => Array()
            [dataset] => Array()
        )
    [item2] => Array
        (
            [4] => Array()
            [19] => Array()
            [2] => Array()
            [dataset] => Array()
        )
)

几件事情,可以帮助做到这一点的是,我的知道指数总是会首先在指数< STRONG> itemX 指数和关键将永远是“数据集”和其他人都将永远是数字索引。反正是有做到这一点在PHP?事实上,它是一个混合阵列是扔我。我不能有数字指标得到复位,从0开始,如果他们是为了转移也没关系,只是他们所有的“数据集”指数面前。也许这只是那些日子之一....:\任何建议或意见是极大的赞赏。

有帮助吗?

解决方案

循环虽然这样所有元素:

foreach ($all_items as $key =>$items) {
   $dataset = $items['dataset'];
   unset($all_items[$key]['dataset']); // Removing it (from the top)
   $all_items[$key]['dataset'] = $dataset; // Adding it again (at the bottom)
}

的伸出,收藏的“数据集”元件,然后再加入会引起在底部要添加的元素。

这是你直接修改原始数组,而不是在foreach的$项目,因为这些变化不会影响原来的数组是很重要的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top