dongzu0742 2014-07-20 04:52
浏览 21
已采纳

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

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 ?

  • 写回答

1条回答 默认 最新

  • dongmei6426 2014-07-20 04:58
    关注

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部