dongyuling0312 2017-07-28 17:52
浏览 44
已采纳

在php中计算数组的特定元素

I would like to count specific elements ('host_name') of an array.

My function is decoding a json file and returning the array.

file.json

{
    "href": "https://webservice:8080",
    "items": [
        {
            "Hosts": {
                "cluster_name": "cluster1",
                "host_name": "server1"
            },
            "href": "https://server1:8080"
        },
        {
            "Hosts": {
                "cluster_name": "cluster1",
                "host_name": "server2"
            },
            "href": "https://server2:8080"
        },
        {
            "Hosts": {
                "cluster_name": "cluster1",
                "host_name": "server3"
            },
            "href": "https://server3:8080"
        }
    ]
}

My php page to decode the json file :

functions.php

function test($clusterName)
{
$content = file_get_contents($clusterName.".json");
                $content = utf8_encode($content);
                $result = json_decode($content, true);

                return  $result;
}

And my page where i'd like to display the number of host names :

page.php

$result = test("mycluster");
echo "<p>".count($result['Hosts']['host_name'])."</p>";

But I have an undefined index for 'Hosts' when I do this. I tried some things, I can tell that the array is well there (print_r shows it), but I really can't count elements of it.

Thanks

  • 写回答

3条回答 默认 最新

  • dongruidian3064 2017-07-28 17:57
    关注

    You have to count the elemets of "items".

    echo "<p>".count($result['items'])."</p>";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c