3 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
其他兩個(gè)正確答案的替代方法,但無(wú)需手動(dòng)設(shè)置數(shù)組索引或使用任何臨時(shí)變量:
$arr = [];
foreach($items as $item) {
? ? $arr[] = [
? ? ? ? 'ProductGuid'? ? ?=> $item->guid,
? ? ? ? 'BaseAmountValue' => $item->price,
? ? ? ? 'Quantity'? ? ? ? => $item->qty,
? ? ? ? 'Discount'? ? ? ? => $item->discount,
? ? ? ? 'AccountNumber'? ?=> 1000,
? ? ? ? 'Unit'? ? ? ? ? ? => 'parts',
? ? ];
}

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
使用給定的代碼,您可以在該循環(huán)的每一行中在數(shù)組中創(chuàng)建新的內(nèi)部行。下面的代碼將解決這個(gè)問(wèn)題:
$arr = array();
foreach($items as $item) {
$mappedItem = [];
$mappedItem['ProductGuid'] = $item->guid;
$mappedItem['BaseAmountValue'] = $item->price;
$mappedItem['Quantity'] = $item->qty;
$mappedItem['Discount'] = $item->discount;
$mappedItem['AccountNumber'] = 1000;
$mappedItem['Unit'] = 'parts';
$arr[] = $mappedItem;
}

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
你相當(dāng)接近這樣做的一種方式......
解釋?zhuān)?/p>
$arr[]['ProductGuid'] = $item->guid;
^^
\= Next numeric array key.
這樣做是在下一個(gè)productGuid數(shù)字外部數(shù)組上設(shè)置鍵,因此實(shí)際上您實(shí)際設(shè)置的是:
$arr[0]['ProductGuid'] = $item->guid;
$arr[1]['BaseAmountValue'] = $item->price;
$arr[2]['Quantity'] = $item->qty;
$arr[3]['Discount'] = $item->discount;
$arr[4]['AccountNumber'] = 1000;
$arr[5]['Unit'] = 'parts';
這顯然不是你想要的。
一種解決方案:
因此,您必須在循環(huán)的每次迭代中設(shè)置數(shù)組鍵值foreach。
一種方法是手動(dòng)設(shè)置迭代器整數(shù)鍵值:
$arr = [];
$x = 0;
foreach($items as $item) {
$arr[$x]['ProductGuid'] = $item->guid;
$arr[$x]['BaseAmountValue'] = $item->price;
$arr[$x]['Quantity'] = $item->qty;
$arr[$x]['Discount'] = $item->discount;
$arr[$x]['AccountNumber'] = 1000;
$arr[$x]['Unit'] = 'parts';
$x++; // +1 to value of $x
}
- 3 回答
- 0 關(guān)注
- 147 瀏覽
添加回答
舉報(bào)