I have a condition to increment the array keys in such a way that each array key is to get increment. Only this part should get updated with the incremented number “LV001_LV002” to “LV099_LV100”.(But not only up to 100 it get increment above 100 also).
i have developed the below structure of array:
`array:2 [ "Level1" => array:3 [ "LV001_LV002" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV003_LV004" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV005_LV006" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] ] "Level2" => array:3 [ "LV001_LV002" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV003_LV004" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV005_LV006" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] ] ]`
In above many level1 to (n)levels… will be coming, So how i can do this. we have to change only this part as the serial number “LV001_LV002” up to “LVxxx_LVxxx”.
I want the result should be like this:
`[ "LV001_LV002" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV003_LV004" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV005_LV006" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV007_LV008" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV009_LV010" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] "LV011_LV012" => array:5 [ "L1" => "string" "L2" => "string" "L3" => "string" "L4" => "string" "L5" => "string" ] ]`
how can I do that?
Advertisement
Answer
You can do it like this,
<?php
$mainArray = [
    "Level1" => [
        "LV001_LV002" =>  [
          "L1" => "string",
          "L2" => "string",
          "L3" => "string",
          "L4" => "string",
          "L5" => "string",
        ],
        "LV003_LV004" => [
          "L1" => "string",
          "L2" => "string",
          "L3" => "string",
          "L4" => "string",
          "L5" => "string",
        ],
        "LV005_LV006" => [
          "L1" => "string",
          "L2" => "string",
          "L3" => "string",
          "L4" => "string",
          "L5" => "string",
        ]
    ],
    "Level2" => [
         "LV001_LV002" => [
          "L1" => "string",
          "L2" => "string",
          "L3" => "string",
          "L4" => "string",
          "L5" => "string",
        ],
        "LV003_LV004" => [
          "L1" => "string",
          "L2" => "string",
          "L3" => "string",
          "L4" => "string",
          "L5" => "string",
        ],
        "LV005_LV006" => [
          "L1" => "string",
          "L2" => "string",
          "L3" => "string",
          "L4" => "string",
          "L5" => "string",
        ]
    ]
];
$newArray = [];
$indexCount = 1;// Array index
foreach ($mainArray as $array) {
    foreach ($array as $key=>$value) {
        // Generate index
        $index = "LV" . str_pad($indexCount++, 3, '0', STR_PAD_LEFT) . "_LV" . str_pad($indexCount++, 3, '0', STR_PAD_LEFT);
        $newArray[$index] = $value;// Store with generated index
    }
}
print_r($newArray);// To see the output
Output:
Array
(
    [LV001_LV002] => Array
        (
            [L1] => string
            [L2] => string
            [L3] => string
            [L4] => string
            [L5] => string
        )
    [LV003_LV004] => Array
        (
            [L1] => string
            [L2] => string
            [L3] => string
            [L4] => string
            [L5] => string
        )
    [LV005_LV006] => Array
        (
            [L1] => string
            [L2] => string
            [L3] => string
            [L4] => string
            [L5] => string
        )
    [LV007_LV008] => Array
        (
            [L1] => string
            [L2] => string
            [L3] => string
            [L4] => string
            [L5] => string
        )
    [LV009_LV010] => Array
        (
            [L1] => string
            [L2] => string
            [L3] => string
            [L4] => string
            [L5] => string
        )
    [LV011_LV012] => Array
        (
            [L1] => string
            [L2] => string
            [L3] => string
            [L4] => string
            [L5] => string
        )
)