PHP foreach 循环 JSON

标签 php json

我知道这个网站上有数百个类似的问题,但我就是无法让我的代码正常工作...

我有这个 JSON

{
"version":"1.0.0",
"buildDate":20131029,
"buildTime":165127,

"lockPath":"..\\var\\lock",
"scriptPath":"..\\var\\lock",
"connections":
[
{
    "name":"o016561",
    "bez":"GEW-NRW",
    "type":"OVPN"
},
{
    "name":"o016482",
    "bez":"GEW-BW",
    "type":"OVPN"
},
{
    "name":"o019998",
    "bez":"GEW-SH",
    "type":"OVPN"
}
]}

如何访问“名称”值以检查是否存在具有相同名称的现有文件? 我试过了

$json_config_data = json_decode(file_get_contents($json_path,true));

    foreach($json_config_data->connections as $connectionName)
    {
        if($connectionName->name == $fileName)
        {
            $status = 1;
        }
        else
        {
            $status = 0;
        }
    }

但我总是得到 $status = 0... 我认为对此有一个简单的解决方案,但我是 PHP 的新手,所以我很乐意提供任何帮助。 谢谢指教

最佳答案

您要为每次迭代重置 $status 的值,这意味着最后一个连接必须是正确的。您可能正在寻找 break 语句。

$json_config_data = json_decode(file_get_contents($json_path,true));

$status = 0; //Default to 0
foreach($json_config_data->connections as $connectionName)
{
    if($connectionName->name == $fileName)
    {
        $status = 1;
        break; //End the loop
    }
}

关于PHP foreach 循环 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20190219/

相关文章:

php - MySQL PHP 查询问题

javascript - 提交表单时保持选中复选框

php - Visual Studio Code 找不到 PHP 函数 - 也许是 "require_once"语法?

mysql - Sequelize 获取 MySql 存储过程数据作为数组?

javascript - 将新对象添加到现有的 json

javascript - 维基百科 API 解析操作仅返回 "other languages"部分

php - 让 CodeIgniter HelloWorld 示例工作

php - ZeroMQ 的安装在 php 5.6 Ubuntu 14.04 上不起作用

json - 将pyspark数据帧转换为嵌套的json结构

json - 如何解析由 cryptocompare API 生成的 JSON?