php - PHP 中检查 in_array 的替代方案

标签 php arrays

我使用 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/

相关文章:

php - PDO 相关的数据库错误

javascript - 多个下拉菜单在 HTML 中不起作用

php - 如何获取MySQL中特定表的主键 "column name"

ruby - 如何返回多维数组中字符串的坐标/索引? [ ruby ]

java - 从数组中返回不为空的值。 java

php - 识别关系相对于非识别关系的优缺点,反之亦然

javascript - 使用 PHP 制作 Javascript 数组

Java切换到 Debug模式但控制台中没有显示错误

c - 如何从结构指针数组中取消引用

arrays - 如何检查数组中的最后一个元素是否符合条件,mongodb