PHP使用array_keys()获取嵌套数组中的键

时间:2015-10-28 15:44:28

标签: php arrays

我有一个从查询生成的$ results数组,我想在html中输出一个表。我希望标题为“id”,“length”和“sample_id”。由于标题每次都在变化,所以我用了

$keys = array_keys($results[0]);

我得到“array_keys()期望参数1是数组”错误。如果嵌套部分不是数组,我应该如何获得密钥?

array:59 [▼
  0 => {#160 ▼
    +"id": 204
    +"length": 233
    +"sample_id": "ad3"
  }
  1 => {#161 ▼
    +"id": 205
    +"length": 733.5
    +"sample_id": "bt7r"
  }
  2 => {#162 ▶}
  3 => {#163 ▶}
  4 => {#164 ▶}
  5 => {#165 ▶}

1 个答案:

答案 0 :(得分:1)

这是因为$results实际上是一个对象数组。

我不知道你是如何获得数组的,但通常可以选择如何返回对象。

如果您使用的是PDO,则可以使用方法$statement->fetchAll();

也可以使用get_object_vars方法获取所有“密钥”:

$keys = array_keys(get_object_vars($results[0]));