如何在php中为每个项目拆分数组中的值

时间:2014-07-20 12:52:07

标签: php for-loop foreach

我有一个简单的php问题。

我有2个产品的价值,如下所示。 1产品有选择密度,味道和pid 其他产品有颜色和pid选项

产品1

density: Low 12mg, flavor: Dekang Dark USA Mix, pid: 165 

产品2

color: Silver, pid: 5 

以上2个值来自单个数组

$items[$i]['options']

如何将其转换为以下格式的数组...

product 1-   density => 'Low 12mg, flavor =>  'Dekang Dark USA Mix', pid => '165'
product 2-    color =>  'Silver', pid => '5'

以及如何在foreach循环中调用它以便我为2个产品单独获取值?

1 个答案:

答案 0 :(得分:2)

假设选项值以逗号分隔:

$myArray = explode(',', $items[$i]['options']);

然后您可以使用该数组填充您的对象。完整的例子:

$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