将数组元素组合成单个字符串


Combine array elements into single string

所以这就是我要做的。

$sql="SELECT * FROM `members";
while($rew = mysql_fetch_array($sql)){
    $var[] =",'".$rew['username']."'";
}
print_r ($var)

所以我得到结果:

Array ( [0] => ",'John'", [1] => ",'Mason'", [2] => ",'Greg'", [3] => ",'Paul'" )

所以现在我希望变量在我回显时显示所有结果。例如:

<?php echo $var[1] ?>

结果将只是,'Mason'.

我如何获得它,以便我可以回显$var[*] 并获得所有结果。"约翰,梅森,格雷格,保罗"。

长期以来,我一直在试图弄清楚这一点,这对我来说非常令人沮丧。有人可以帮我吗?

使用 PHP 的 implode 函数。

<?php echo implode(",", $var) ?>

并将循环代码更改为:

$var[] = $rew['username'];

不能直接在数组上使用回显。 您可以使用 forforeach 等控制结构遍历数组,也可以使用设计用于对数组进行操作的内置函数。 要获得您要查找的输出,请尝试:

<?php echo implode(',', $var);?>

这是一个很好的教程: Tizag - MySQL Fetch Array

这应该有效:

$query = "SELECT * FROM `members`"; 
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
    echo $row['username'];
    echo "<br />";
}

您可以将循环更改为以下内容:

$var = "";
while($rew = mysql_fetch_array($sql)){
  $var .= ",'" . $rew['username'] . "'";
}

这是一个简单的一行,也添加了引号

<?php echo "'" . implode("','", $var) . "'"; ?>

如果您使用PDO,则可以更轻松地获得用户名

<?php
$usernames = $db->query("SELECT username FROM members")->fetchAll(PDO::FETCH_COLUMN);
echo "'" . implode("','", $usernames) . "'";
?>