#php
#php
Вопрос:
Есть ли какой-либо способ перебирать массив и вставлять каждый экземпляр в другой массив?
$aFormData = array(
'x_show_form' => 'PAYMENT_FORM',
foreach($aCartInfo['items'] as $item){
'x_line_item' => $item['id'].'<|>'.$item['title'].'<|>'.$item['description'].'<|>'.$item['quantity'].'<|>'.$item['price'].'<|>N',
}
);
Ответ №1:
Не непосредственно в объявлении массива, но вы могли бы сделать следующее:
$aFormData = array(
'x_show_form' => 'PAYMENT_FORM',
'x_line_item' => array(),
);
foreach($aCartInfo['items'] as $item){
$aFormData['x_line_item'][] = $item['id'].'<|>'.$item['title'].'<|>'.$item['description'].'<|>'.$item['quantity'].'<|>'.$item['price'].'<|>N';
}
Ответ №2:
Да, есть способ; но вы должны выполнить два шага :
- Сначала создайте свой массив со статическими данными
- А затем динамически добавлять дополнительные данные
В вашем случае, я полагаю, вы бы использовали что-то вроде этого :
$aFormData = array(
'x_show_form' => 'PAYMENT_FORM',
'x_line_item' => array(), // right now, initialize this item to an empty array
);
foreach($aCartInfo['items'] as $item){
// Add the dynamic value based on the current item
// at the end of $aFormData['x_line_item']
$aFormData['x_line_item'][] = $item['id'] . '<|>' . $item['title'] . '<|>' . $item['description'] . '<|>' . $item['quantity'] . '<|>' . $item['price'] . '<|>N';
}
И, конечно, вам следует прочитать раздел руководства, посвященный массивам : это, вероятно, вам очень поможет 😉
Ответ №3:
Вы имеете в виду что-то вроде этого :
$aFormData = array(
'x_show_form' => 'PAYMENT_FORM',
'x_line_item' => array(),
);
foreach($aCartInfo['items'] as $item) {
$aFormData['x_line_item'][] = implode('<|>', $aCartInfo['items']).'<|>N',
}