我正在编写一个购物车会话处理程序类,我发现自己重复了这一段代码,它搜索多维关联数组以进行值匹配。
foreach($_SESSION['cart'] as $k => $v){
if($v['productID'] == $productID){
$key = $k;
$this->found = true;
}
}
我在尝试匹配数组中的不同值时重复此操作。 是否可以轻松创建一种方法,通过该方法将密钥传递给搜索和值。 (听起来很简单,我现在读了回来,但由于某些原因没有运气)
答案 0 :(得分:1)
听起来你想要这样的东西:
function findKey(array $array, $wantedKey, $match) {
foreach ($array as $key => $value){
if ($value[$wantedKey] == $match) {
return $key;
}
}
}
现在你可以做到:
$key = findKey($_SESSION['cart'], 'productID', $productID);
if ($key === null) {
// no match in the cart
} else {
// there was a match
}