PHP从获取数组创建一个数组

Posted

技术标签:

【中文标题】PHP从获取数组创建一个数组【英文标题】:PHP Create an array from fetch array 【发布时间】:2013-11-26 07:52:25 【问题描述】:

我有一个 mysql 查询,使用时给出以下结果 while($row = mysql_fetch_array($res))

x | 12432

y | 232432

z | 323423

我想获取每一列并将其放入一个新数组中,以便将它们导出到一个看起来像的表中

x | y | z

12432 | 232432 | 323423

如果我多次获取相同的查询,第二行不会显示。

你能帮忙吗?

【问题讨论】:

您应该尝试使用 mysqli 或 PDO 进行数据库连接。 Please, don't use mysql_* functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial. 【参考方案1】:

编辑:尽快切换到 mysqli(或 PDO)!在搜索引擎中可以找到很多原因,所以我将把它留给你。


您可以使用嵌套循环来执行此操作:

$array = array();

while($row = mysql_fetch_array($res))
    foreach($res as $key=>$value)
        $array[$key][] = $value;
    

第一轮 while 将给 $array 键名和它们的第一个值,通过循环的下一次迭代只会添加值

【讨论】:

【参考方案2】:

这是对我有用的代码。

while($row = mysql_fetch_array($res))

    $clients[] = $row[0];

    $stats[] = $row[1];



foreach ($clients as $client)

    echo "<td>$client</td>";


echo "</tr><tr>";

foreach ($stats as $stat)

    echo "<td>$stat</td>";

【讨论】:

但是,有一个问题。它不显示每个数组中的第一个条目。

以上是关于PHP从获取数组创建一个数组的主要内容,如果未能解决你的问题,请参考以下文章

PHP从带有数组[]的输入中获取发布数据

从 PHP 中的 UUID 数组中获取唯一的哈希 ID

使用php从多维数组中获取子数组

使特定 URL 使用模板文件并使用 PHP 和 .htaccess 从数组中获取特定数据

PHP获取数组下标的问题

PHP:从数组中获取值? [复制]