I've been having difficulty visualizing how to return a specific array pattern from my extracted array from the spreadsheet table. You may refer to the extracted arrays below.
Here are the extracted arrays from my spreadsheet table
Array
(
[0] => Array
(
[0] => Order Number
[1] => Status
)
[1] => Array
(
[0] => 1111
[1] => Shipped
)
[2] => Array
(
[0] => 2222
[1] => For Veri
)
[3] => Array
(
[0] => 3333
[1] => Delivered
)
[4] => Array
(
[0] => 4444
[1] => Problematic
)
[5] => Array
(
[0] => 5555
[1] => Onhold
)
)
I would like for the array to be returned as below:
Array(
[1111] => Array
{
[Order Number] => 1111
[Status] => Delivered
}
[2222] => Array
{
[Order Number] => 2222
[Status] => Delivered
}
)
Would like to confirm if the array_combine function would work on this? Any help would be greatly appreciated.
Edit: This has been resolved thanks to
Markus AO. Had to make some tweaks with the provided snippets and was able to get the expected result.
//$retrieveArray = extracted arrays from the spreadsheet table.
$index = null;
$keys = array_shift($retrieveArray);
//to declare new set of array
$named = [];
// to loop the remaining array
foreach($retrieveArray as $ln => $vals) {
$key = !is_null($index) ? $vals[$index] : $ln;
$named[$key] = array_combine($keys, $vals);
}
echo "<pre>";
print_r($named);
echo "</pre>";
Updated Output:
Array
(
[0] => Array
(
[Order Number] => 1111
[Status] => Shipped
)
[1] => Array
(
[Order Number] => 2222
[Status] => For Veri
)
[2] => Array
(
[Order Number] => 3333
[Status] => Delivered
)
[3] => Array
(
[Order Number] => 4444
[Status] => Problematic
)
[4] => Array
(
[Order Number] => 5555
[Status] => Onhold
)
)
Thanks!