0

我的字符串就是这样

$items = "2,1/3,5/2,5/3,2";

斜线 (/) 分隔的值是每个项目的顺序。

逗号 (,) 分隔的值是项目 ID 和数量。

我想创建一个循环来分隔 / 值,然后分隔 , 值,但我在这样做时遇到了麻烦。

$order_array = explode('/', $items);
    $order = '';
    foreach ($order_array as $item_array) {
        $item = explode(',', $item_array);
        foreach ($item as $key) {
            echo 'Item ID '.$key[0].' QTY'.$key[1];

        }
    }
4

3 回答 3

1

完成后

$item = explode(',', $item_array);

那么你在 $item[0] 和 $item[1] 中有你的值

去掉内

foreach ($item as $key) {
            echo 'Item ID '.$key[0].' 'QTY '.$key[1];

        }

将值打印为

echo 'Item ID '.$item[0].' QTY '.$item[1];
于 2013-02-13T07:45:59.337 回答
0

如前所述,在带有额外单引号的 echo 语句中存在语法错误。您也不需要最里面的 foreach 循环。

$order_array = explode('/', $items);
$order = '';
foreach ($order_array as $item_array) {
    $item = explode(',', $item_array);
    echo 'Item ID '.$item[0]. 'QTY '.$item[1];


}
于 2013-02-13T07:50:38.460 回答
0

如果我没有错,下面是您要查找的代码。

<?php
$items = "2,1/3,5/2,5/3,2";
$order_array = explode('/', $items);
$order = '';
foreach ($order_array as $item_array)
{
    $item = explode(',', $item_array);
    echo 'Item ID '.$item[0].' QTY '.$item[1] .'<br />';
}

因为你正在做的是进入$item循环foreach并访问不存在$key的,所以它会抛出错误。$key[0]

于 2013-02-13T07:52:04.937 回答