我使用 in_array() 来检查 Product_id 的值是否在数组中,但它似乎不起作用。
这是我在 session 变量中添加带有附加信息的新product_id 的方法:
$_SESSION['product_list']['premium'][$product_id] = array(
"price" => $price,
"name" => $name
);
这是我的代码,用于检查它是否已添加到 session 中(以防止同一产品重复)
$array_to_check = $_SESSION['product_list']['premium'];
if ( in_array($product_id, $array_to_check) ) {
echo json_encode( 'already exists' );
} else {
echo json_encode( 'successfully added' );
}
但我总是“成功添加”,尽管我尝试一遍又一遍地添加相同的产品。
这段代码有什么问题?
最佳答案
您应该使用array_key_exists
-
array_key_exists($product_id, $array_to_check)
$product_id
是该深度的关键。 in_array
检查值。
关于php - PHP 中检查 in_array 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33123857/