PHP在多维会话数组中查找元素值



我有下面的多维会话数组来存储购物车项目,我想用0.00搜索购物车列表中的价格是否包含价格,如果是,我希望它返回true并进行URL重定向。

Array
(
    [0] => Array
        (
            [p_name] => Product 01
            [p_id] => 123
            [p_price] => 0.00
            [p_alt-variation-1] => Blue
            [p_alt-variation-2] => L
            [p_qty] => 1
        )
    [1] => Array
        (
            [p_name] => Product 02
            [p_id] => 124
            [p_price] => 13.00
            [p_qty] => 1
        )
    [2] => Array
        (
            [p_name] => Product 03
            [p_id] => 125
            [p_price] => 99.00
            [p_qty] => 2
        )
)

我试过了:

$key = array_search(0.00, array_column($_SESSION['products'], 'p_price'));
echo $key;
if($key === true){
    //redirect url
}

它最终显示0,这意味着什么?

您应该从一开始:使用简单的foreach(这是最有效的方法(使其工作:

foreach ($_SESSION['products'] as $key => $product) {
    if ($product['p_price'] === '0.00') {
        // do what you want
    }
}

当你想使用一个函数时,请仔细阅读PHP手册中的相关页面,该页面总是解释什么是参数以及什么返回函数。

array_search

如果在数组中找到针,则返回针的键,FALSE否则

这就是你得到0的原因,维奇就是找到的钥匙。

函数.数组搜索

相关内容

  • 没有找到相关文章

最新更新