Extract values ​​from an array using a foreach nested loop

I have a long array from which I want to get all the values ​​and save it in a separate variable and save each value in the database.

The array that I have:

 Array
(
    [success] => 1
    [categories] => Array
        (
            [0] => Array
                (
                    [category_id] => 39
                    [name] => BAGS
                    [categories] => Array
                        (
                            [0] => Array
                                (
                                    [category_id] => 59
                                    [name] => Handcrafted Purses
                                    [categories] => 
                                    [status] => 1
                                )

                            [1] => Array
                                (
                                    [category_id] => 45
                                    [parent_id] => 39
                                    [name] => Laptop Bag
                                    [categories] => 
                                    [status] => 1
                                )
                        )
                    [status] => 1
                )
            [1] => Array
                (
                    [category_id] => 40
                    [name] => BOXERS
                    [categories] => Array
                        (
                            [0] => Array
                                (
                                    [category_id] => 56
                                    [parent_id] => 40
                                    [name] =>  Women Boxers
                                    [status] => 1
                                )
                        )
                    [status] => 1
                )

            [2] => Array
                (
                    [category_id] => 91
                    [parent_id] => 0
                    [name] => Business Corporate
                    [image] => 
                    [categories] => Array
                        (
                            [0] => Array
                                (
                                    [category_id] => 92
                                    [parent_id] => 91
                                    [name] => Bags
                                    [image] => 
                                    [categories] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [category_id] => 93
                                                    [parent_id] => 92
                                                    [name] => Potli Bags
                                                    [image] => 
                                                    [categories] => 
                                                    [status] => 1
                                                )

                                        )

                                    [status] => 1
                                )

                        )

                    [status] => 1
                )

            [3] => Array
                (
                    [category_id] => 60
                    [parent_id] => 0
                    [name] => Business Corporates
                    [image] => 
                    [categories] => Array
                        (
                            [0] => Array
                                (
                                    [category_id] => 90
                                    [parent_id] => 60
                                    [name] => Art Cushions
                                    [image] => 
                                    [categories] => 
                                    [status] => 1
                                )

                            [1] => Array
                                (
                                    [category_id] => 67
                                    [parent_id] => 60
                                    [name] => Bags
                                    [image] => 
                                    [categories] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [category_id] => 77
                                                    [parent_id] => 67
                                                    [name] => Potli Bags
                                                    [image] => 
                                                    [categories] => 
                                                    [status] => 1
                                                )

                                            [1] => Array
                                                (
                                                    [category_id] => 76
                                                    [parent_id] => 67
                                                    [name] => Smart Bags
                                                    [image] => 
                                                    [categories] => 
                                                    [status] => 1
                                                )
                                        )

                                    [status] => 1
                                )

                            [2] => Array
                                (
                                    [category_id] => 86
                                    [parent_id] => 60
                                    [name] => Fashion Jewellery
                                    [image] => 
                                    [categories] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [category_id] => 88
                                                    [parent_id] => 86
                                                    [name] => Coming Soon - Products Uploading
                                                    [image] => 
                                                    [categories] => 
                                                    [status] => 1
                                                )

                                        )

                                    [status] => 1
                                )

                            [3] => Array
                                (
                                    [category_id] => 61
                                    [parent_id] => 60
                                    [name] => Men Footwear
                                    [image] => 
                                    [categories] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [category_id] => 65
                                                    [parent_id] => 61
                                                    [name] => Canvas Loafers
                                                    [image] => 
                                                    [categories] => 
                                                    [status] => 1
                                                )

                                        )

                                    [status] => 1
                                )

                            [4] => Array
                                (
                                    [category_id] => 87
                                    [parent_id] => 60
                                    [name] => Shawls And Stoles
                                    [image] => 
                                    [categories] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [category_id] => 89
                                                    [parent_id] => 87
                                                    [name] => Coming Soon - Products Uploading
                                                    [image] => 
                                                    [categories] => 
                                                    [status] => 1
                                                )

                                        )

                                    [status] => 1
                                )
                        )

                    [status] => 1
                )

            [4] => Array
                (
                    [category_id] => 15
                    [parent_id] => 0
                    [name] => ETHNIC WEAR 
                    [image] => 
                    [categories] => Array
                        (
                            [0] => Array
                                (
                                    [category_id] => 28
                                    [parent_id] => 15
                                    [name] => Designer Lehngas
                                    [image] => 
                                    [categories] => 
                                    [status] => 1
                                )

                            [1] => Array
                                (
                                    [category_id] => 2
                                    [parent_id] => 15
                                    [name] => Suits
                                    [image] => 
                                    [categories] => 
                                    [status] => 1
                                )
                        )

                    [status] => 1
                )
        )
)

I can get the external values ​​of this array using this code:

if (!empty($array)) 
    {
        foreach ($array['categories'] as $category) 
            {
                echo $category['category_id'];
                echo "<br>";
            }
    }

I got the values ​​like:

39
40
91
60
15
16
38
57

But I also want to access the internal majority of the array values. Can anyone tell how I can create a nested loop?

+1
source share
1 answer

If you are now how deep your array is, you can simply add other foreach loops to your main loop.

if (!empty($array)) 
{
    foreach ($array['categories'] as $category) 
        {
            echo $category['category_id'];
            echo "<br>";

            if(isset($category['categories'])){
            foreach($category['categories'] as $category2)
                {
                echo $category2['category_id'];
                echo "<br>";

                     if (isset($category2['categories'])){
                     foreach($category2['categories'] as $category3)
                       {
                         echo $category3['category_id'];
                         echo "<br>";

                         ...

                       } }

                }}
        }
}
0
source

All Articles