gpt4 book ai didi

php - 将数组中的值放入带有键的二维数组中

转载 作者:行者123 更新时间:2023-11-29 07:25:19 25 4
gpt4 key购买 nike

对于 php 新手,我已经在网上阅读了数十篇“将数据插入数组”的帖子,但似乎没有一个能够描述我的确切问题,(或者我太无知而无法识别它)所以我们开始吧。

我从 SQL 数据库获取一些数据。我想将其呈现在表格中。我有一个可以执行此操作的工作脚本,但它有一个轻微的故障,它在表中没有显示任何空结果(行)。为了获得所需的结果,我的尝试 2.0 现在从一个包含所有行的空表开始,稍后用数据填充它们。

$names = array('Alice', 'Bob', 'Charles', 'Dick', 'Emy');
for ($i=0; $i< count($names); $i++)
{
$empty_table[] = array("Name" => $names[$i], "Total" => 0, "Wins" => 0, "Losses" => 0) ;
}

这给了我一个可以显示为表格的数组,其中有 5 个数据行,每个数据行包含一个带有 Name 键(Alice 到 Emy)的字段值,否则填充所有其他键设置为 0 的值。它看起来像:

名称总胜负

爱丽丝0 0 0

鲍勃0 0 0

查尔斯 0 0 0

迪克 0 0 0

艾米 0 0 0

从数据库中,我想填写 0、IF 和仅 IF 数据库中的值。我获取数据

for ($i=0; $i< count($names); $i++) {
$sql = "SELECT
SEVERAL THINGS
WHERE Something = '".$names[$i]."'";
$result = mysqli_query($conn,$sql);
// Not the real query obviously, but that part works and gives the intended result.
while ( $row = mysqli_fetch_assoc($result) ) {
Do something with the result in $row;
} // end while
} // end for

$row 是一个与 $empty_table 的值之一具有相同结构的数组。示例:$row 可以是:Array ( [Name] => Bob [Total] => 10 [Wins] => 7 [Losses] => 3 )

现在问题来了。考虑到 $empty_table,如何将一维数组 $row 转换为二维数组 $empty_table(替换“0”值) > 总是有固定的 5 个元素,但 while 循环中可以有 0 到 5 之间的任意数字 '$row's ,具体取决于数据库中的内容?

如果我尝试:

$empty_table[] = $row;

$empty_table[$row['Name']] = $row;

我仅将具有 '0' 值的行添加到现有数组中,而不是替换的行。我确实知道解决方案位于 '[]' 之间,但我无法弄清楚在那里放置与正确的 $row[] 相关的内容。

最佳答案

我认为你可以将数组结构更改为:

for ($i=0; $i< count($names); $i++) {
$empty_table[$names[$i]] = array("Name" => $names[$i], "Total" => 0, "Wins" => 0, "Losses" => 0) ;
}

所以你的数组键将是这个人的名字。这样您就可以确定每个时刻是哪一行。数组应该这样构造:

$empty_table = Array(
"John"=> Array("name"=>"John", "total"=>10, "wins"=>3, "loses"=>7),
"Mary"=> Array("name"=>"Mary", "total"=>10, "wins"=>5, "loses"=>5),
);

因此您可以访问如下值:

$john_row = $empty_table["John"];

关于php - 将数组中的值放入带有键的二维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34745750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com