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 usemysql_*
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从获取数组创建一个数组的主要内容,如果未能解决你的问题,请参考以下文章