I am trying to group my array values based on the array keys then print the result in the UI. I am stuck here for hours now.
Here is the array I need to format:
Array
(
[checklist1] => major
[result_audit1] => 1
[checklist2] => minor
[result_audit2] => 2
[checklist3] => pico
[result_audit3] => 3
[checklist4] => goodpoints
[result_audit4] => 4
[submit] => Submit Now
)
Here is what I have tried so far but it is misaligned and not a proper result of the array.
foreach($n_data as $key => $data)
{
$array['checklist'][$i] = array(
'selected' => $n_data[$key],
'result_audit' => $n_data[$key]
);
$i++;
}
Desired array:
Array
(
[checklist] => Array
(
[0] => Array
(
[selected] => major
[result_audit] => 1
[origin] => checklist1
)
[1] => Array
(
[selected] => minor
[result_audit] => 2
[origin] => checklist2
)
))
Parse the digital suffix of each
checklistkey and isolate the integer as a temporary value. As you iterate, if you encounterchecklistdata, push a new subarray into the result array which includes the relatedresult_auditvalue.Code: (Demo)
If the elegance of this answer isn't immediately obvious, it makes only one function call per iteration and doesn't need to use a regular expression to parse the keys.