0
setcookie("mnau", "1-445 1-51 1-3001");
$kosik = explode(" ", $_COOKIE["mnau"]);

foreach($kosik as $value) {
    list($item_ajdi, , $itemcount) = $value;
    echo $item_ajdi . " : " . $itemcount . ",";
}

返回值 1:4、1:5、1:3,而不是 1:445 等。

4

2 回答 2

1

我认为你只需要循环你的爆炸数组,然后替换-:

setcookie("mnau", "1-445 1-51 1-3001");
//var_dump($_COOKIE);

$kosik = explode(" ", $_COOKIE["mnau"]);
foreach ($kosik as $value) {
    echo str_replace('-', ':', $value) . ', ';
}

这将输出

1:445, 1:51, 1:3001,
于 2013-06-09T15:34:36.850 回答
0

@Fabio 的答案是最好的,但是如果您想保留当前代码,则需要执行 @Caramiriel 建议$value-操作并在list().

setcookie("mnau", "1-445 1-51 1-3001");
$kosik = explode(" ", $_COOKIE["mnau"]);
foreach($kosik as $value) {
    $value = explode("-", $value);
    list($item_ajdi,$itemcount) = $value;
    echo $item_ajdi . " : " . $itemcount . ", ";
}

带输出

1 : 445, 1 : 51, 1 : 3001,
于 2013-06-09T15:42:21.753 回答