在PHP中的ARRAY上获取所有列名称

时间:2017-02-04 23:17:31

标签: php arrays

想象一下,我有这个数组

 $records = array(
array(
    'id' => 2135,
    'first_name' => 'John',
    'last_name' => 'Doe',
),
array(
    'id' => 3245,
    'first_name' => 'Sally',
    'last_name' => 'Smith',
),
array(
    'id' => 5342,
    'first_name' => 'Jane',
    'last_name' => 'Jones',
),
array(
    'id' => 5623,
    'first_name' => 'Peter',
    'last_name' => 'Doe',
)
);

我试过这个

 array_keys($records)

但它不会返回此

Array
(
    [0] => id
    [1] => first_name
    [2] => last_name
)

我想知道列的名称以及有多少列可以更改数据库上的查询并立即使用适当数量的列

2 个答案:

答案 0 :(得分:1)

假设在你的数组中至少有一行,所有行都有相同的列,你可以这样做:

<?php
    $numColumns = count($records[0]);
    $numRows = count($records);
    $columnsNames = array_keys($records[0]);
?>

这是因为你有一个数组数组,所以使用array_keys()是正确的,你只需要在$ records中包含的一个数组(在本例中是第一个)中执行它

答案 1 :(得分:-2)

我不理解MazzCris的回答,所以我会按照我的理解回答问题。

访问第一个子数组,然后提取键。

代码:(Demo

$keys = array_keys($records[0]);
var_export($keys);
echo "\n";
echo "Number of columns: " , count($keys);

输出:

array (
  0 => 'id',
  1 => 'first_name',
  2 => 'last_name',
)
Number of columns: 3