foreach变量等于另一个变量

时间:2014-02-14 21:57:47

标签: php json foreach

我想将$ key等于$ value以返回与$ key匹配的$。

foreach($value as $values);
foreach($json['values'] as $key => $called) {
    if($key == $values) {
        $myreturns[] = $called;
    }
}
return json_encode($myreturns, true);

我有一个选择倍数,哪个值是一个数字,如果不是注册时的数字,它就会失败(阻止人们更改值)。

我使用以下json填充它

{
"values": {
    "1": "Black",
    "2": "Blue",
    "3": "Brown",
    "4": "Grey",
    "5": "Green",
    "6": "Hazel",
    "7": "Violet"
}

}

如果有人选择黑色和蓝色,则值为1和2。

例如我想要foreach $ key所以如果该数字等于“1”则返回上面的json以返回与$ key相关的$ called。

我知道这是错的,但我想要这样的东西

foreach($key == $values) {
    $myreturns[] = $called;
}

1 个答案:

答案 0 :(得分:0)

关闭。使用array_push将结果推送到一个新数组,然后json对其进行编码。

// json decode into associative array
$values = json_decode($json, true);

// init results
$results = array();

foreach($values as $key => $value) {
    if($called == $key) {
        array_push($results,$value);
    }
}
$result = json_encode($result);
return $result;

另请注意,如果要在json数组中获取项目,则更容易在数组中引用它:

$array = json_decode($json,true);
$item = $array[$key];