我的json数据是这样的:
$json_data = '{"2": "1", "3": "3"}';
注意:
2 =明星, 1 =用户, 3 =明星, 3 =用户
如果我有这样的变量:
$user = 3;
$star = 4;
我希望$user
中存在检查变量$json_data
或不存在
如果存在,它将更新为:
$json_data = '{"2": "1", "4": "3"}';
因此,如果$user
中存在$json_data
,则会更新$star
我试着这样:
<?php
$user = 3;
$star = 4;
$json_data = '{"2": "1", "3": "3"}';
$array_data = json_decode($json_data, true);
if(in_array($user, $array_data))
{
// update here
}
?>
我仍然感到困惑,如何更新
有没有人可以帮助我?
答案 0 :(得分:2)
您应该使用array_search()来检查@media screen and (max-width:999px) {
.et_pb_section_video_bg {
background-image:url("/wp-content/uploads/2017/02/Old-Instrument-Broken-Abandoned-Wrecked-Piano-Dark.jpg");
background-size: cover;
}
#mep_0 { display: none; }
}
是否存在,如果存在,它将返回数组索引。
$user
输出:
$key = array_search($user, $array_data); // Returns 3 i.e array key where $user exists
if ($key !== false) {
$array_data[$star] = $array_data[$key]; // If key found, set value to $array_data[4]
unset($array_data[$key]); // Remove the previous data $array_data[3]
}
echo json_encode($array_data);
答案 1 :(得分:0)
PHP代码
<?php
$result = array();
$json_data = '{"2": "1", "3": "3"}';
$user = 3;
$star = 4;
$dataArray = json_decode($json_data, true);
foreach($dataArray as $key=>$val) {
if($val == $user) {
$result[$star] = $val ;
} else {
$result[$key] = $val ;
}
}
echo "<pre>";
print_r (json_encode($result));
?>