这是我的$ data变量:
cv = 1,2,3,4,5 ::: cpt = 4,5 ...
现在我需要一些功能,我可以在其中添加数字作为参数(数字将是$ data number value)。
例如。
function getPermission($id) {
... return $something;
}
然后,如果我将函数调用为:echo getPermission(4);
,它将打印出4个将在其中的数据“键”作为值。
所以,要明确:
如果我这样调用函数:
echo getPermission(4);
输出将是“cv”和“cpt”。
但如果我这样称呼它:
echo getPermission(1);
它只会输出“cv”,因为number(1)位于cv键中。
希望你们明白,随便问一下有什么不够清楚。
答案 0 :(得分:4)
$str = 'cv = 1,2,3,4,5:::cpt = 4,5';
$tmp = explode(':::', $str);
$data = array();
foreach ($tmp as $arr) {
$tokens = explode(' = ', $arr);
$data[$tokens[0]] = explode(',', $tokens[1]);
}
print_r(getPermission(4, $data));
print_r(getPermission(1, $data));
function getPermission($id, $data) {
$out = array();
foreach ($data as $key => $arr) {
if (in_array($id, $arr)) $out[] = $key;
}
return $out;
}