PHP使用数组_键()在嵌套数组中获取键

PHP使用数组_键()在嵌套数组中获取键,php,arrays,Php,Arrays,我有一个从查询中生成的$results数组,我想用html输出一个表。我希望标题是“id”、“长度”和“样本id”。由于标题每次都会更改,所以我使用 $keys = array_keys($results[0]); 我得到“array_keys()期望参数1为array”错误。如果嵌套部分不是数组,我应该如何获取键 array:59 [▼ 0 => {#160 ▼ +"id": 204 +"length": 233 +"sample_id": "ad3"

我有一个从查询中生成的$results数组,我想用html输出一个表。我希望标题是“id”、“长度”和“样本id”。由于标题每次都会更改,所以我使用

$keys = array_keys($results[0]);
我得到“array_keys()期望参数1为array”错误。如果嵌套部分不是数组,我应该如何获取键

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 ▶}

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

我不知道你是如何得到这个数组的,但是人们通常可以选择如何返回对象

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

您还可以使用以下方法获取所有“密钥”:

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

您的数组似乎包含对象,而不是数组。更改数组的任何数据类型->获取数组键->完成???
$keys=get\u object\u vars($results[0])我使用了Laravel查询生成器。数组是由:$query->get()生成的;