-1

我的表格中有一行这样显示;

2:2/3:1/17:1/6:1/1:1/

我想知道如何将它们存储到 php 变量中,以便将它们显示给用户。'/' 分隔元素,':' 分隔元素的各个部分。

我不知道这是否有意义,但就是这样;

itemID:quantity/itemID:quantity/itemID:quantity/

所以我想分离项目,然后将 itemID 和数量存储到变量中以显示给用户。

我尝试过使用爆炸功能;

$pieces = explode("/", $order_details);

但我不知道如何分离 itemID 和数量。

有什么帮助吗?

4

2 回答 2

1
$pieces = explode("/", rtrim($order_details, '/'));
$items = array();
foreach ($pieces as $piece)
{
    list($id, $qty) = explode(':', $piece);
    $items[$id] = $qty;
}
于 2012-05-22T14:04:16.703 回答
1

利用parse_str

<?php
$str = '2:2/3:1/17:1/6:1/1:1/';
$str = str_replace(array(':', '/'), array('=', '&'), $str);

parse_str($str, $vars);

/*
$vars now:
Array
(
    [2] => 2
    [3] => 1
    [17] => 1
    [6] => 1
    [1] => 1
)
*/

如果可能,将值作为序列化数组存储到您的表中。

于 2012-05-22T14:09:56.650 回答