php - 在 PHP 中按键更新现有 JSON 数据中的值
问题描述
我有 JSON 数据,想按键更新值。
JSON:
{
"language":"en",
"education":[
{
"unit":"e1",
"language":"en"
}
],
"membership":[
{
"uei":"21",
"Uifed":"failed"
}
]
}
我想将uifed
“失败”的值更改为“成功”。
我做了什么?
$json = '{"language":"en","education":[{"unit":"e1","language":"en"}],"membership":[{"uei":"21","Uifed":"failed"}]}';
$arrayData = json_decode($json, true);
$replacementData = array('Uifed' => 'success');
$newArrayData = array_replace_recursive($arrayData, $replacementData);
echo var_dump($newArrayData);
结果:
NULL
我怎样才能做到这一点?
解决方案
通过引用foreach
传递值的简单示例:
$json = '{"language":"en","education":[{"unit":"e1","language":"en"}],"membership":[{"uei":"21","Uifed":"failed"}]}';
$arrayData = json_decode($json, true);
foreach ($arrayData['membership'] as &$membership) {
if ('failed' === $membership['Uifed']) {
$membership['Uifed'] = 'success';
}
}
print_r($arrayData);
小提琴。
推荐阅读
- node.js - Node JS - 加密/解密
- ruby-on-rails - 图片未显示,ckeditor 和 rails 6
- r - X 轴在热图中不可见
- node.js - 我正在从我的 nodejs 获取动态数据到 reactjs,但我收到一条错误消息“POST 未定义”
- python - Python 使用什么样的逻辑来处理布尔表达式?
- r - 如何从 Shiny 模块中的模态对话框将数据框返回到 Shiny 应用程序?
- azure-devops - Azure DevOps:PR 审核通过后如何执行 Build Task?
- python - 将 pandas 中的 2 个数据框与一列中的用户定义值合并
- curl - jq - 添加使用外部命令计算的条目
- swift - 按钮未出现在场景中并出现在左上角