用于搜索关联数组键的函数

时间:2013-01-14 22:27:42

标签: php

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

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

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

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

1 个答案:

答案 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
}