我有下面的多维会话数组来存储购物车项目,我想用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的原因,维奇就是找到的钥匙。
函数.数组搜索