i want to put foreach in values in array to assign value as loop in array. how to do that? i try put foreach inside array but looks like its wrong.
my array code:
$allcart[] = $_SESSION["shopping_cart"];
if i print i will get this value
Array ( [0] => Array ( [item_varid] => 109 [item_id] => 146 [item_basename] => aaa [item_baselink] => products.php?id=146 [item_name] => grey [item_price] => 10 [item_image] => Upload20220224569751018.jpg [item_totalquan] => 120 [item_quantity] => 2 ) [1] => Array ( [item_varid] => 110 [item_id] => 146 [item_basename] => aaa [item_baselink] => products.php?id=146 [item_name] => pink [item_price] => 20 [item_image] => Upload20220224569794304.png [item_totalquan] => 130 [item_quantity] => 4 ) [2] => Array ( [item_varid] => 111 [item_id] => 146 [item_basename] => aaa [item_baselink] => products.php?id=146 [item_name] => yellow [item_price] => 30 [item_image] => Upload20220224731849169.jpg [item_totalquan] => 230 [item_quantity] => 5 ) )
i want put in this $allcart
array inside this one
function payPal(array $allcart,$gateway){
try {
$response = $gateway->purchase(array(
'amount' => $totalprice,
//
'items' => array(
array(
//put below here, replace 'name' value with array value [item_basename] from $allcart
'name' => 'Course Subscription',
'price' => $_POST['amount'],
'description' => 'Get access to premium courses.',
'quantity' => 1
),
),
//
'currency' => PAYPAL_CURRENCY,
'returnUrl' => PAYPAL_RETURN_URL,
'cancelUrl' => PAYPAL_CANCEL_URL,
))->send();
}
Advertisement
Answer
function payPal(array $allcart,$gateway){
try {
foreach ($allcart as $key => $value) {
$items[] = array('name' => $value['item_basename'],
'price' => $value['item_price'],
'description' => 'Get access to premium courses.',
'quantity' => $value['item_quantity']
);
}
$response = $gateway->purchase(array(
'amount' => $totalprice,
'items' => $items,
'currency' => PAYPAL_CURRENCY,
'returnUrl' => PAYPAL_RETURN_URL,
'cancelUrl' => PAYPAL_CANCEL_URL,
))->send();
}
I hope this will solve your query as i stored all your $allcart array into new $items array and called.