1

我正在编写一个购物车会话处理程序类,我发现自己重复了这段代码,它在多维关联数组中搜索值匹配。

foreach($_SESSION['cart'] as $k => $v){

    if($v['productID'] == $productID){
        $key = $k;
        $this->found = true;
    }
}

我在尝试匹配数组中的不同值时重复这一点。是否有一种易于创建的方法,通过该方法我将键传递给搜索和值。(听起来很简单,现在我读回来了,但由于某种原因没有运气)

4

1 回答 1

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
}
于 2013-01-14T22:38:30.057 回答