I am working on a shopping cart function for a website and have stumbled across this error:
Fatal error: Unsupported operand types in ... on line xx
I think this may be because I am performing some math between a variable and a value within an array. What I am not sure of is how to perform math on a value within an array:
$line_cost = $price * $quantity;
Can anyone give me any guidance on this please? I will be most grateful! Here is the relevant code -
<?php session_start(); ?>
<?php
$product_id = $_GET['id'];
$action = $_GET['action'];
switch($action) {
case "add":
$_SESSION['cart'][$product_id]++;
break;
}
?>
<?php
foreach($_SESSION['cart'] as $product_id => $quantity) {
list($name, $description, $price) = getProductInfo($product_id);
echo "$price"; // 20
var_dump($quantity); // "array(2) { ["productid"]=> string(1) "2" ["qty"]=> int(1) }".
$line_cost = $price * $quantity; //Fatal error occurs here
}
?>
As the gettype()
function shows that $price
is a string and $quantity
is an array, typecast $price
first to integer and use the array $quantity
with its key to access the integer value (if it is not an integer, typecast it too).
So it goes like:
$line_cost =(int)$price * (int)$quantity['key'];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With