【发布时间】:2015-10-14 11:15:52
【问题描述】:
我正在使用 in_array() 来检查 product_id 的值是否在数组中,但它似乎不起作用。
这就是我在会话变量中添加带有附加信息的新 product_id 的方式:
$_SESSION['product_list']['premium'][$product_id] = array(
"price" => $price,
"name" => $name
);
这是我的代码,用于检查它是否已添加到会话中(以防止相同产品的重复)
$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' );
}
但我总是“成功添加”,即使我尝试一遍又一遍地添加相同的产品。
这段代码有什么问题?
【问题讨论】:
-
in_array检查数组中的值。你正在做的是检查key。使用array_key_exists。