【发布时间】:2022-01-25 14:30:58
【问题描述】:
我尝试使用此代码从“联系人”表中获取所有值,然后仅打印重复一次的每个值,例如:如果组具有值 (A、A、A、B、C),则只会打印每个值一次(A,B,C)并将这些 A,B,C 中的每一个分配给一个新数组
$sql = "SELECT Groupss FROM Contact";
$result = $conn->query($sql);
$Grouplist = array();
if (mysqli_num_rows($result) > 0) {
while ($row = $result->fetch_assoc()) {
$Grouplist[0] = $row;
(array_unique($Grouplist[0]));
foreach ($row as $key => $value) {
$newarray[] = $value;
echo $value;
}
}
}
【问题讨论】:
-
array_unique可以工作,除了the documentation shows 您需要将返回值分配给像$unique = array_unique($Grouplist[0]);这样的变量。尽管您可能希望首先在while循环中获取所有结果,然后在while循环之后调用 $unique = array_unique($Grouplist);` 并遍历$unique。跨度> -
如果你想在 PHP 而不是 SQL 中实现这个逻辑,你可以去掉
while循环,而是调用$unique = array_unique($result->fetch_all(MYSQLI_ASSOC));来获取所有行作为关联数组,然后迭代独特的结果集,例如foreach ($unique as $key => $value) { echo $value; }