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

时间:2012-04-15 00:25:06

标签: php arrays

所以这就是我要做的......

$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 [*]并获得所有结果。 “约翰,梅森,格雷格,保罗”。

我一直试图解决这个问题很长一段时间,对我来说非常令人沮丧。有人可以帮帮我吗。

5 个答案:

答案 0 :(得分:2)

使用PHP的implode函数。

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

将您的循环代码更改为:

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

答案 1 :(得分:1)

您无法直接在阵列上使用echo。您可以使用 for foreach 之类的控制结构遍历数组,也可以使用专为数组操作的内置函数。要获得输出,您正在寻找尝试:

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

答案 2 :(得分:0)

这是一个很好的教程: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 />";
}

答案 3 :(得分:0)

您可以将循环更改为:

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

答案 4 :(得分:0)

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

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

如果你使用pdo,你可以更容易地获得用户名

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