如何只打印数组的索引

时间:2014-01-13 14:13:02

标签: php mysql arrays

使用select query我从数据库中选择一些数据。

我使用while循环获取数据。

while($row=mysql_fetch_array($query1))
 {

}

现在我想只打印$ row的索引。

我尝试使用以下语句进行打印,但它会打印索引和值(Key ==> Value)

foreach ($row as $key => $value) {
    echo $key ;
}

我尝试了array_keys(),但对我来说也没用。

echo implode(array_keys($row));

请帮忙解决这个问题。

我只需要打印索引。

4 个答案:

答案 0 :(得分:2)

您将结果行作为关联数组和数字数组(默认值),请参阅mysql_fetch_array上的手册。

如果您只需要数字数组,请使用:

while($row=mysql_fetch_array($query1, MYSQL_NUM))

顺便说一句,您应该切换到PDO或mysqli,因为mysql_*函数已被弃用。

答案 1 :(得分:0)

你应该在Implode函数中传递分隔符(胶水文本)。

对于以逗号分隔的数组键,您可以使用以下代码。

echo implode(",",array_keys($row));

答案 2 :(得分:0)

$row循环中的while变量会在每次迭代时被覆盖,因此foreach将无法按预期工作。

将每个$row存储在一个数组中,如下所示:

$arr = array();
while($row=mysql_fetch_array($query1)) {
    $arr[] = $row;
}

现在,要打印数组键,您可以使用简单的implode()

echo implode(', ', array_keys($arr));

答案 3 :(得分:0)

$ query1 from while($ row = mysql_fetch_array($ query1))应该是

的结果
$query1 = mysql_result("SELECT * FROM table");
//then
while($row=mysql_fetch_array($query1))

仅使用mysql_fetch_row

获取密钥
$query = "SELECT fields FROM table";
$result = mysql_query($query);
while ($row = mysql_fetch_row($result)) {
  print_r(array_keys($row));
}