在 php mysql_fetch_array 中内爆数组

Implode array in php mysql_fetch_array

我无法解决这个看似简单的问题。我有以下简单代码,我只想回显 $ATL5_Alert_query 的结果并用逗号 (,) 分隔:

$ATL5_Alert_query = mysql_query("SELECT `Mobile` FROM `dbo_tech_name` WHERE `AlertLevel`= 1"); 

$dataset = array();
 while ($data = mysql_fetch_array($ATL5_Alert_query))
 {
   $dataset[] = $data;
 }
echo implode (",", $dataset);

但是,我得到 "Notice: Array to string conversion "...

在您的代码中,$data 也是数组,因此 $dataset 成为数组的数组,您无法将其串联。您应该通过以下方式获得搜索值:

while ($data = mysql_fetch_array($ATL5_Alert_query))
{
   $dataset[] = $data['Mobile'];
}

或:

while ($data = mysql_fetch_array($ATL5_Alert_query))
{
   $dataset[] = $data[0];
}

或:

while ($data = mysql_fetch_assoc($ATL5_Alert_query))
{
   $dataset[] = $data['Mobile'];
}

如果您无法更改它,并且已经有了您的 $dataset 阵列,您可以像这样内爆它:

echo implode(',', array_map(function($a){
  return $a['Mobile'];
},$dataset));