Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何仅打印数组的索引_Php_Mysql_Arrays - Fatal编程技术网

Php 如何仅打印数组的索引

Php 如何仅打印数组的索引,php,mysql,arrays,Php,Mysql,Arrays,使用select查询可以从数据库中选择一些数据 我使用while循环获取数据 while($row=mysql_fetch_array($query1)) { } 现在我只想打印$row的索引 我尝试使用以下语句打印,但它打印索引和值(Key==>value) 我也尝试了数组_keys(),但它对我也没有帮助 echo implode(array_keys($row)); 请帮我把这个拿出来 我只需要打印索引。您应该在内爆函数中传递分隔符(粘合文本) 对于逗号分隔的数组键,可以使用以下代

使用select查询可以从数据库中选择一些数据

我使用while循环获取数据

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

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

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

我也尝试了数组_keys(),但它对我也没有帮助

echo implode(array_keys($row));
请帮我把这个拿出来

我只需要打印索引。

您应该在内爆函数中传递分隔符(粘合文本)

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

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

您将以关联数组和数字数组(默认值)的形式获取结果行,请参阅上的手册

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

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

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

您的
中的
$row
变量在每次迭代时都会被覆盖,因此
foreach
不会像您期望的那样工作

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

$arr = array();
while($row=mysql_fetch_array($query1)) {
    $arr[] = $row;
}
现在,要打印数组键,可以使用一个简单的
内爆()

$query1 from而($row=mysql\u fetch\u array($query1))应该是来自的结果

$query1 = mysql_result("SELECT * FROM table");
//then
while($row=mysql_fetch_array($query1))
要仅获取密钥,请使用


你所说的指数是什么意思?数组的索引(在您的案例列名称中)或记录的id?我需要打印键而不是值。在第一个和第二个循环中是否使用相同的
$row
?如果是-则在第一个循环中覆盖它,然后在第二个循环中只使用一个循环得到一行。使用上面的语句也可以像这样打印0、sa、1、ff、2df,但我只需要键值0、1、2。那么您想做什么呢?
glue
参数是可选的--
内爆()
没有它也可以工作。@sandeep jeroen为您的问题提供了最佳解决方案。简单且最好,无需额外工作:-)
echo implode(', ', array_keys($arr));
$query1 = mysql_result("SELECT * FROM table");
//then
while($row=mysql_fetch_array($query1))
$query = "SELECT fields FROM table";
$result = mysql_query($query);
while ($row = mysql_fetch_row($result)) {
  print_r(array_keys($row));
}