PHP中的数组到字符串转换失败

时间:2016-05-19 13:43:04

标签: php arrays

我有一个查询,它获取不同的用户ID,我试图将其转换为逗号分隔的字符串,我可以将其传递到WHERE子句中具有IN的另一个SQL查询。 但是我收到一个错误,说数组到字符串转换。

$qry0="SELECT DISTINCT id FROM users  ";
$res0=getData($qry0);
while($row0=mysqli_fetch_array($res0))
{
    $data0      =   $row0['id'];  
}

我试图将其转换为字符串,如下所示:

$array = explode(",", $data0);

并将其传递给另一个

$qry="SELECT * FROM login WHERE clientid IN(".$array.") ";

2 个答案:

答案 0 :(得分:1)

使用内爆而不是爆炸:

$qry0="SELECT DISTINCT id FROM users  ";
$res0=getData($qry0);
$data0 = array(); // initialize array first
while($row0=mysqli_fetch_array($res0))
{
    $data0[]      =   $row0['id'];  // create array like this
}

$array = implode(",", $data0); // use implode to convert array to string

答案 1 :(得分:0)

explode()函数将字符串分解为数组。要将数组拆分为字符串,需要使用implode()

$qry0="SELECT DISTINCT id FROM users  ";
$res0=getData($qry0);
$data0 = array();
while($row0=mysqli_fetch_array($res0))
{
    $data0[]      =   $row0['id'];  
}
$array = implode(",", $data0);