首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用PHP从JSON数据中搜索对象数组,以找到匹配的对象,然后更新匹配的键数据

用PHP从JSON数据中搜索对象数组,以找到匹配的对象,然后更新匹配的键数据
EN

Stack Overflow用户
提问于 2016-11-08 20:42:37
回答 1查看 915关注 0票数 0

我正在尝试将一个JSON数据文件读入PHP,并在其数组或对象中搜索匹配的anme值。如果找到匹配项,我希望从表单POST数据中更新数组对象数据的内容,以更新该项,然后将其转换回JSON并保存到json文件中。

代码语言:javascript
运行
复制
$file = 'plugins.js';
$tmp_json_data = file_get_contents($file);
$data = json_decode($tmp_json_data);

echo '<pre>';
print_r($data);

foreach ($data as $key => $obj) {
    echo $obj->name;
    echo $obj->url;
    echo $obj->tag;
}

结果

代码语言:javascript
运行
复制
Array
(
    [0] => stdClass Object
        (
            [name] => Roundabout - Interactive, turntable-like areas
            [url] => http://fredhq.com/projects/roundabout/
            [tag] => slide
        )

    [1] => stdClass Object
        (
            [name] => Slides - Simple slideshow plugin for jQuery
            [url] => http://slidesjs.com/
            [tag] => slide
        )
)

如何在PHP中读取我的$data数组并搜索与$_POST['name']相等的匹配对象name,如果找到匹配项,则更新该数组对象的内容?

EN

回答 1

Stack Overflow用户

发布于 2016-11-08 21:00:59

我将使用一个数组(对象将在PHP 7中工作):

代码语言:javascript
运行
复制
$data = json_decode($tmp_json_data, true);
$key  = array_search($_POST['name'], array_column($data, 'name'));

那么,我不知道你所说的更新是什么意思,但是:

代码语言:javascript
运行
复制
$data[$key]['url'] = 'something new';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40496049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档