Question

J'ai un problème que je dois résoudre plus tôt que tard. si j'eu le temps de réécrire le script entier je le ferais, mais telle est la vie d'un programmeur, non? anywho, je l'ai pris en charge un projet et j'ai une associative mixte multidimensionnelle / tableau numérique comme ceci:

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

ce que je dois faire est de déplacer le ensemble de données index dans chacun des itemX index à la dernière index pour résultat ceci:

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

quelques choses qui peuvent aider à arriver est que i savent que l'indice ensemble de données sera toujours le premier indice dans le < strong> itemX index et la clé sera toujours « jeu de données » et les autres seront tous toujours des index numériques. est là de toute façon de le faire en php? le fait qu'il est un ensemble mixte est de me jeter. Je ne peux pas avoir les index numériques obtenir remis à zéro et à partir de 0 n'a pas d'importance si elles sont l'ordre est décalé, seulement ils viennent tous avant d'indexer le 'ensemble de données. peut-être qu'il est juste un de ces jours ....:. \ suggestions ou commentaires sont grandement appréciés

Était-ce utile?

La solution

boucle si tous les éléments comme ceci:

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

Décharger l'élément « ensemble de données » et en ajoutant à nouveau provoquera l'élément à ajouter au bas.

Il est important que vous modifiez le tableau original directement, et non pas les éléments de $ du foreach, parce que ces changements ne toucheront pas le tableau original.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top