I have a simple php question.
I have a value like the following for 2 products. 1 product has options density, flavor and pid other product has option color and pid
product 1
density: Low 12mg, flavor: Dekang Dark USA Mix, pid: 165
product 2
color: Silver, pid: 5
The above 2 values comes in a single array
$items[$i]['options']
How can i convert it into an array of the following format...
product 1- density => 'Low 12mg, flavor => 'Dekang Dark USA Mix', pid => '165'
product 2- color => 'Silver', pid => '5'
and how to call it in a foreach loop so that i get values separately for 2 products ?
Assuming options values are separated by comma:
$myArray = explode(',', $items[$i]['options']);
Then you can use that array to fill in your object. Full example:
$items[0] = array("id" => 1,
"options" => 'density: Low 12mg, flavor: Dekang Dark USA Mix, pid: 165');
$items[1] = array("id" => 2,
"options" => 'color: Silver, pid: 5');
$newItems = array();
foreach ($items as $item) {
$options = explode(',', $item['options']);
foreach ($options as $option) {
$values = explode(':', $option);
$item[trim($values[0])] = trim($values[1]);
}
$newItems[] = $item;
}
print_r($newItems);
http://sandbox.onlinephpfunctions.com/code/1b4ccc3ee27b53340cabff8d313f4733085e01e2