回声出一个可变变量列表


Echoing out a variable variables list

我需要创建一个类似‘Acme’‘Umbrella’‘Waymart’的字符串,以便在java函数中使用。到目前为止,我已经:

$info0 = "SELECT DISTINCT Company FROM CETracker";
$rs0=odbc_exec($conn1,$info0);
$count = 1;
while($row = odbc_fetch_array($rs0))    
{
    ${'V'.$count++} = "" . $row['Company'] . "";
}
$categories = "'$V1', '$V2', '$V3'";
echo $categories;

然后我在功能需要的地方有$categories回声公司列表。只要只有3家公司,这项工作就可以了。但当添加更多时,我必须添加‘$V4’‘$V5’等等。有什么想法吗?谢谢

使用数组而不是变量,然后可以implode结果:

$info0 = "SELECT DISTINCT Company FROM CETracker";
$rs0 = odbc_exec($conn1,$info0);
$companies = array();
while($row = odbc_fetch_array($rs0))    {
    $companies[] = "'" . $row['Company'] . "'";
}
$categories = implode(', ', $companies);
echo $categories;

如果您想继续使用变量,请使用循环创建字符串:

$info0 = "SELECT DISTINCT Company FROM CETracker";
$rs0=odbc_exec($conn1,$info0);
$count = 1;
while($row = odbc_fetch_array($rs0))    {
    ${'V'.$count++} = "" . $row['Company'] . "";
}
$categories = '';
for($x = 1; $x <= $count; $x++) {
    if($x > 1) $categories .= ', '; // add the comma
    $categories .= "'" . ${'V'.$x} . "'"; // add the variable variable
}
echo $categories;

请尝试以下操作:

$info0 = "SELECT DISTINCT Company FROM CETracker";
$rs0=odbc_exec($conn1,$info0);
$count = 1;
$str = '';
while($row = odbc_fetch_array($rs0))    
{
    $str .= "'".$row['Company']."',";
}
$str = substr($str,0,strlen($str)-1);
echo $str;