Domanda

Ho un problema ho bisogno di risolvere il problema prima che poi. se ho avuto il tempo di riscrivere l'intero script lo farei, ma tale è la vita di un programmatore, giusto? Anywho, ho ripreso un progetto e ho un associativa / matrice numerica mista multidimensionale in questo modo:

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

che cosa devo fare è spostare il set di dati indice in ciascuna delle itemX indici di essere l'ultimo indice di provocare in questo modo:

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

un paio di cose che possono contribuire a rendere questo accada è che i so che il set di dati Indice sarà sempre il primo indice nel < strong> itemX indice e la chiave sarà sempre 'insieme di dati' e gli altri saranno tutti sempre indici numerici. c'è comunque di fare questo in php? il fatto che si tratta di una matrice mista sono io lancio. Non posso avere gli indici numerici ottenere reset e a partire da 0. non importa se sono ordine spostato, solo che tutti vengono prima l'indice 'insieme di dati'. forse è solo uno di quei giorni ....:. \ suggerimenti o commenti sono molto apprezzati

È stato utile?

Soluzione

Loop se tutti gli elementi di questo tipo:

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)
}

Disabilitare l'elemento 'di dati' e aggiungendo nuovamente causerà l'elemento da aggiungere al fondo.

E 'importante che si modifica la matrice originale direttamente, non gli elementi $ dal foreach, in quanto tali modifiche non interesseranno la matrice originale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top