我对我正在做的循环有点怀疑,因为它返回的是空值。
首先,我收到这样的物品:
$items = Session::get('items');
$deco = json_decode($items, true);
如果我回来,$deco我会得到这个:
{
"items":[
{
"id":1,
"inventoryID":1,
"title":"Product 1",
"quantity":1,
"unit_price":20,
"image":"img.png"
},
{
"id":2,
"inventoryID":1,
"title":"Product2",
"quantity":1,
"unit_price":25,
"image":"img.png"
}
]
}
现在,在循环中(我用它来更改一些键的值以集成贝宝)我有这个:
$results = [];
foreach($deco['items'] as $element) {
$name=$element['title'];
$quantity=$element['quantity'];
$sku= $element['id'];
$price=$element['unit_price'];
$item = new Item();
$item -> setName($name)
->setCurrency('USD')
->setQuantity($quantity)
->setSku($sku)
->setPrice($price);
$results[]=$item;
}
如果我返回return $item(在循环外),我(如预期)只得到一个值,而不是所有集合:
{
"name": "Product2",
"currency": "USD",
"quantity": 1,
"sku": 2,
"price": "25"
}
但是,如果我返回return $results我需要的 var,它会给我这个(它会根据需要执行项目的 {},但返回空):
[
{},
{}
]
整个代码看起来像:
public function test(){
$items = Session::get('items');
$deco = json_decode($items, true);
$results = [];
foreach($deco['items'] as $element) {
$name=$element['title'];
$quantity=$element['quantity'];
$sku= $element['id'];
$price=$element['unit_price'];
$item = new Item();
$item -> setName($name)
->setCurrency('USD')
->setQuantity($quantity)
->setSku($sku)
->setPrice($price);
$results[]=$item;
}
return $results;
}
ITMISS
绝地无双