I have a 2D array and I want to generate a formatted array. Actually I want to genetate multiple rows at a time by restructuring the input array.
My 2D array:
$occupied_ids = [
[8457, 6584],
[9874, 4586],
];
Expected output:
array (
0 =>
array (
'occupied_id' => 8457,
'feed' => 2,
'status' => 1,
'status_date' => '2022-09-13',
),
1 =>
array (
'occupied_id' => 6584,
'feed' => 2,
'status' => 1,
'status_date' => '2022-09-13',
),
2 =>
array (
'occupied_id' => 9874,
'feed' => 2,
'status' => 1,
'status_date' => '2022-09-13',
),
3 =>
array (
'occupied_id' => 4586,
'feed' => 2,
'status' => 1,
'status_date' => '2022-09-13',
),
)
My working code:
foreach($occupied_ids as $ele){
$attributes = array_map(function($v){
$feed = isset($_GET['feed']) ? $_GET['feed'] : 2;
$status = 1;
return [
'occupied_id' => $v,
'feed' => $feed,
'status' => $status,
'status_date' => date('Y-m-d'),
];
}, $ele);
/*Call function to multi-insert*/
//multi_insert($attributes);
}
But I'm looking for something a way without the outer loop.