In what ways can using multidimensional arrays or objects improve the management of shopping cart data in PHP compared to a serialized string?

Using multidimensional arrays or objects can improve the management of shopping cart data in PHP compared to a serialized string by providing a more structured and organized way to store and access the data. With multidimensional arrays or objects, you can easily access specific items in the cart, update quantities, add new items, and remove items without having to unserialize and serialize the entire string each time.

// Using multidimensional arrays to manage shopping cart data
$cart = array(
    array('id' => 1, 'name' => 'Product 1', 'price' => 10, 'quantity' => 2),
    array('id' => 2, 'name' => 'Product 2', 'price' => 20, 'quantity' => 1)
);

// Add a new item to the cart
$newItem = array('id' => 3, 'name' => 'Product 3', 'price' => 15, 'quantity' => 1);
$cart[] = $newItem;

// Update quantity of an item in the cart
foreach ($cart as &$item) {
    if ($item['id'] == 1) {
        $item['quantity'] += 1;
    }
}

// Remove an item from the cart
foreach ($cart as $key => $item) {
    if ($item['id'] == 2) {
        unset($cart[$key]);
    }
}

// Display the updated cart
print_r($cart);