从另一个JSON对象中的JSOn对象获取一个键,只知道它的位置

时间:2016-01-02 14:55:45

标签: php json

所以我将以下JSON对象作为示例:

 {

  "employees": {
    "employee300": {
      "number" : "example",
      "Name" : "example",
      "position" : 1
    },
    "employee456": {"number" : "example",
      "Name" : "example",
      "position" : 2},
    "employee120":{"number" : "example",
      "Name" : "example",
      "position" : 3}
}
}

我只有职位,我想获得员工的身份。例如,我的位置编号为2,我需要获取“employee456”的ID。

我知道PHP中有很多关键函数,但我想知道如何让我的代码在我的场景中运行。 如果有这样的解决方案,我也可以将json转换为数组。

2 个答案:

答案 0 :(得分:1)

我不确定你是想在JS或PHP中这样做,而是假设后者。

<?php function get_employee_at_pos($employees, $pos)
{
    foreach ($employees as $key => $value) {
        if ($value['position'] == $pos) {
            return $key;
        }
    }
    return false;
}

答案 1 :(得分:0)

使用var keys = Object.keys(obj)获取密钥,然后使用myobject[keys[1]]。 (1对应position - 1)。

编辑:在php中

$keys = array_keys(myobject);并使用$myobject[$keys[1]]

编辑2:在php中,你需要在数组中加载json

$myjson = json_decode(file_get_contents("yourfile.json"), true); // loads yourfile.json and converts to a php array.