PHP Insert array into multidimensional array by using an array value

da.eXecutoR

I got arrays like this build upon data from a database representing single pages of a cms:

    $page =

            Array
        (
            [title] => mein produkt
            [NavID] => 200
            [parents] => Array
                (
                    [0] => 0
                    [1] => 3
                    [2] => 200
                )

        )

And I need to put that into an other multidimensional array like this representing the sitemap:

$map =

    Array
    (
        [NavID] => 0
        [0] => Array
            (
                [childs] => Array
                    (
                        [1] => Array
                            (
                                [title] => home
                                [NavID] => 1
                            )

                        [2] => Array
                            (
                                [title] => impressum
                                [NavID] => 2
                                [childs] => Array
                                    (
                                        [100] => Array
                                            (
                                                [title] => startseite
                                                [NavID] => 100
                                                [parents] => Array
                                                    (
                                                        [0] => 0
                                                        [1] => 2
                                                        [2] => 100
                                                    )

                                            )

                                    )

                            )

                        [3] => Array
                            (
                                [title] => produkte
                                [NavID] => 3
                            )

                    )

            )

    )

As you see, I got the structure of the array as the array value on parents.

So what I would do by hand is putting this like:

$map[0]['childs'][3]['childs'][200] = $page;

Put how can I select the multidimensional array with my array value $page['parents']?

Thanks for helping me out.

ClmentM

You can directly use $page['parents'][KEY] as keys when accessing $map values that way :

$map[$page['parents'][0]]['childs'][$page['parents'][1]]['childs'][$page['parents'][2]] = $page;

As your tree grows, I'd really suggest to shorten it with a direct variable :

$par = $page['parents'];
$map[$par[0]]['childs'][$par[1]]['childs'][$par[2]] = $page;

To dynamically go to the correct node, just loop over your parents using references :

$tmp = &$map;
$first = true;
foreach ($page['parents'] as $parent) {
  if ($first) { // Quick workaround to skip the first node without 'childs' key
    $tmp = &$tmp[$parent];
    $first = false;
    continue;
  }
  $tmp = &$tmp['childs'][$parent];
}
$tmp = $page;

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

INSERT into database using multidimensional array PHP

From Dev

PHP: Modify value of multidimensional array using foreach

From Dev

Insert values to php multidimensional array

From Dev

Insert data into a multidimensional array in php

From Dev

insert array in multidimensional array

From Dev

Insert multidimensional array into multidimensional json in PHP

From Dev

Insert multidimensional array into multidimensional json in PHP

From Dev

Remove and insert count of duplicates elements in a multidimensional array using php

From Java

PHP multidimensional array search by value

From Dev

PHP Multidimensional Array Value Replacement

From Dev

Inserting a value in Multidimensional array in PHP

From Dev

php change value of multidimensional array

From Dev

Multidimensional array sorting by value in php

From Dev

PHP Multidimensional Array Value Replacement

From Dev

Looking for a value in a multidimensional array in PHP

From Dev

PHP count Multidimensional Array value

From Dev

multidimensional array find the given value in array in php

From Dev

PHP Turn value from multidimensional array into an array

From Dev

Multidimensional array to array in PHP

From Dev

array intersection in multidimensional array using php

From Dev

php array merge on key using multidimensional array

From Dev

Sort Multidimensional Array using PHP

From Dev

Insert new array into multidimensional array

From Dev

recursive function to insert multidimensional array into mysql PHP

From Dev

Multidimensional array insert statement

From Dev

Multidimensional array insert statement

From Dev

Insert multidimensional array in excel

From Dev

php - Copy value from array into another array in multidimensional array

From Dev

PHP sort multidimensional array using a specific key value

Related Related

  1. 1

    INSERT into database using multidimensional array PHP

  2. 2

    PHP: Modify value of multidimensional array using foreach

  3. 3

    Insert values to php multidimensional array

  4. 4

    Insert data into a multidimensional array in php

  5. 5

    insert array in multidimensional array

  6. 6

    Insert multidimensional array into multidimensional json in PHP

  7. 7

    Insert multidimensional array into multidimensional json in PHP

  8. 8

    Remove and insert count of duplicates elements in a multidimensional array using php

  9. 9

    PHP multidimensional array search by value

  10. 10

    PHP Multidimensional Array Value Replacement

  11. 11

    Inserting a value in Multidimensional array in PHP

  12. 12

    php change value of multidimensional array

  13. 13

    Multidimensional array sorting by value in php

  14. 14

    PHP Multidimensional Array Value Replacement

  15. 15

    Looking for a value in a multidimensional array in PHP

  16. 16

    PHP count Multidimensional Array value

  17. 17

    multidimensional array find the given value in array in php

  18. 18

    PHP Turn value from multidimensional array into an array

  19. 19

    Multidimensional array to array in PHP

  20. 20

    array intersection in multidimensional array using php

  21. 21

    php array merge on key using multidimensional array

  22. 22

    Sort Multidimensional Array using PHP

  23. 23

    Insert new array into multidimensional array

  24. 24

    recursive function to insert multidimensional array into mysql PHP

  25. 25

    Multidimensional array insert statement

  26. 26

    Multidimensional array insert statement

  27. 27

    Insert multidimensional array in excel

  28. 28

    php - Copy value from array into another array in multidimensional array

  29. 29

    PHP sort multidimensional array using a specific key value

HotTag

Archive