输出具有相同值的数组
Posted
技术标签:
【中文标题】输出具有相同值的数组【英文标题】:output an Array with same values 【发布时间】:2020-02-12 16:03:49 【问题描述】:我有一个 SQL 查询结果(数组):“title”、“content”和“name” 这是我的 var_dump:
array(28)
[0]=>
array(3)
["title"]=>
string(10) "Basis Task"
["content"]=>
string(43) "https://www.wrike.com/open.htm?id=440908999"
["name"]=>
string(14) "Christian Wahl"
[1]=>
array(3)
["title"]=>
string(10) "Basis Task"
["content"]=>
string(5) "mysql"
["name"]=>
string(14) "Christian Wahl"
[2]=>
array(3)
["title"]=>
string(4) "Test"
["content"]=>
string(3) "php"
["name"]=>
string(14) "Christian Wahl"
[3]=>
array(3)
["title"]=>
string(4) "Test"
["content"]=>
string(3) "PHP"
["name"]=>
string(14) "Christian Wahl"
[4]=>
array(3)
["title"]=>
string(10) "Basis Task"
["content"]=>
string(7) "content"
["name"]=>
string(9) "Elena Ott"
(为了看得更清楚,我把数组的末端剪掉了) 这些是分配给用户的任务。
现在我想输出“名称”(面板标题) 以及“标题”和“内容”(面板主体)。
它应该看起来像这样,但对于每个给定的名称:
how it should look like
我试图自己找到解决方案,但没有成功:( 我希望你能帮助我吗?
非常感谢
-Taddl
【问题讨论】:
【参考方案1】:只需循环你的数据并渲染它
$data = [];
foreach ($databaseResult as $row)
$data[$row['name']][] = $row;
foreach($data as $name => $stuff)
echo $name . '<br>';
foreach($stuff as $row)
echo $row["title"] . ':' . $row["content"] . '<BR>';
【讨论】:
【参考方案2】:您可以使用 foreach 循环。例如:
foreach($yourarrayvariable as $data)
echo "<tr>";
echo "<td class='heading'>".$data['name']."</td>";
echo "<div class='content'>";
echo "<td>".$data['title']."</td>";
echo "<td>".$data['content']."</td>";
echo "</div>";
echo "</tr>";
并根据您的需要在 foreach 中创建所需的模板外观类。
【讨论】:
可能想用一堂课来修复那些回声。此代码将中断 对不起,这是一个错误。修复。已编辑,谢谢指正。 :)以上是关于输出具有相同值的数组的主要内容,如果未能解决你的问题,请参考以下文章