在数组中缓存json数据并引用id来填充类型

时间:2012-09-18 00:05:23

标签: php arrays json session caching

我的函数返回一堆属性id,它是json格式的相应名称。例如:

{
    "DETAILS": [
        {
            "ATTR_ID": "522",
            "ATTRIBUTE_ID": "4222",
            "ATTRIBUTE_TYPE": "email",

        },
        {
            "ATTR_ID": "523",
            "ATTRIBUTE_ID": "4006",
            "ATTRIBUTE_TYPE": "interest",


        }
    ]
}

我需要将它存储在我需要缓存的数组中。(我可能会使用$ _SESSION)

现在另一个函数返回一组属性id:

 $val_array = $subarray[arrayOfAttributes];
    foreach ($val_array as $val)
    {
        print "Attrib Value: $val\n"; //This will print ids 4222,4223,etc
    }
what I need to do is correspond the ids with the type from the cache nad print out the respective Types.

我无法将此逻辑表示为代码。

1 个答案:

答案 0 :(得分:1)

function getAttrType($id, $array){
  // $array is your 'DETAILS' array.
  foreach($array as $a){
    if($a['ATTR_ID'] == $id){
      return $a['ATTRIBUTE_TYPE'];
    }
  }
}

print getAttrType(523, $array); // will output 'interest'
print getAttrType(522, $array); // will output 'email'
print getAttrType(123, $array); // will output nothing

不知道这是否是您正在寻找的,也许这可以让您朝着正确的方向前进。