【问题标题】:Codeigniter : How to separate implode resultsCodeigniter:如何分离内爆结果
【发布时间】:2017-11-11 17:12:12
【问题描述】:

这是关于 codeigniter 中的选项购物车库。 我有产品选项

$option = $item['options'];
// result is $option = Array ( [Size] => 33 [color] => brown )

我设法将数组删除或转换为字符串。结果是

$option = implode(',', $option);
print_r($option);
// result is $option = 33,brown

我的问题是如何将结果分成这样的内容。

$option_size = 33;
$option_color = brown;

因为我将结果放入数组中,然后我将进入数据库。

$data_order[] = array(
        'invoice'        => $invoice,
        'nama_produk'    => $item['name_product'],
        'option_size'    => $option_size,
        'option_colour'  => $option_color,
        'qty'            => $item['qty'],
        'price'          => $price,
        'weight'         => $item['weight'],
          );
$this->db->insert_batch('order_product', $data_order);

非常感谢...

【问题讨论】:

    标签: php arrays codeigniter variables


    【解决方案1】:

    你可以试试这个:

    $option = $item['options'];
    $option_size = $option['Size'];
    $option_color = $option['color'];
    

    LIVE DEMO

    【讨论】:

    • 很高兴为您提供帮助!接受答案以帮助其他人解决同样的问题! @DannySetyawan
    • 哦,是的。只有一个问题,也许你可以。您可以在 php 中将 2017 年更改为 17 年吗?
    • 你可以使用 date('y') 得到 17 看这个链接:php.net/manual/en/function.date.php
    【解决方案2】:

    试试这个代码,live demo

    foreach($option as $k => $v)
    {
      $key = 'option_' . $k;
      $$key = $v;
    }
    echo $option_Size;
    

    【讨论】:

      【解决方案3】:

      虽然 Alessandro 可能是完成工作的最直接(也是最简单)的方法,但 PHP 函数 extract 是另一种可能性 - documentation here

      该函数采用关联数组,将键视为变量名,将值视为变量值。例如:

      $option = Array('Size' => 33, 'color' => brown );
      extract($option);
      echo "Size: $Size, Color: $color";
      

      以上输出

      尺码:36,颜色:棕色

      您可以在调用extract 的范围内的任何地方使用变量$Size$color

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-07
        • 1970-01-01
        • 2015-06-11
        • 2017-07-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-11
        • 1970-01-01
        相关资源
        最近更新 更多