Frage

ich habe ein Problem, das ich früher repariert werden muss als später. wenn ich habe die Zeit, das gesamte Skript zu umschreiben würde ich, aber so ist das Leben eines Programmierers, nicht wahr? anywho, ich habe über ein Projekt gemacht, und ich habe ein mehrdimensionales gemischtes assoziatives / numerisches Array wie folgt:

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

, was ich tun müssen, ist die Daten-Set Index in jedem der itemX Indizes verschiebt sich der letzte Index, um dies zu führen:

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

ein paar Dinge, die helfen können, damit dies geschieht, ist, dass i weiß , dass das Daten-Set Index immer den ersten Index wird in dem < strong> itemX Index und der Schlüssel wird ‚Dataset‘ immer und die anderen werden alle immer numerische Indizes sein. ist es trotzdem, dies in PHP zu tun? die Tatsache, dass es ein gemischtes Array ist, ist mir zu werfen. Ich kann nicht über die numerischen Indizes zurückgesetzt bekommen und mit 0 beginnend es ist egal, ob sie sind, um verschoben wird, nur, dass sie alle kommen vor dem ‚Daten-Set‘ Index. vielleicht ist es nur einer dieser Tage ....:. \ Anregungen oder Kommentare werden sehr geschätzt

War es hilfreich?

Lösung

Schleife obwohl alle Elemente wie folgt aus:

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

Das Entschärfen des ‚Dataset‘ Element und das Hinzufügen es wird wieder das Element verursachen am unteren Rand hinzugefügt werden.

Es ist wichtig, dass Sie das Original-Array direkt ändern, nicht die $ Elemente aus der foreach, da diese Änderungen nicht das ursprüngliche Array beeinflussen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top