在PHP中将多维数组内爆为单个逗号分隔的列表

在PHP中将多维数组内爆为单个逗号分隔的列表,php,mysql,Php,Mysql,如果我有如下数组: Array ( [0] => abcdef ) Array ( [0] => abcdef [1] => abcdef ) Array ( [0] => abcdef [1] => abcdef [2] => abcdef ) Array ( [0] => abcdef [1] => qwerty ) 并希望创建一个逗号分隔的列表,如: abcdef, abcdef, abcdef, abcdef, abcdef, abcd

如果我有如下数组:

Array ( [0] => abcdef )
Array ( [0] => abcdef [1] => abcdef )
Array ( [0] => abcdef [1] => abcdef [2] => abcdef )
Array ( [0] => abcdef [1] => qwerty ) 
并希望创建一个逗号分隔的列表,如:

abcdef, abcdef, abcdef, abcdef, abcdef, abcdef, abcdef, qwerty
我该怎么做

当我尝试像这样内爆阵列时:

while($row = mysql_fetch_array($search)){ 
    $row2 = $row['scholarshipid']; 
    $newarray = unserialize($row2);
    $unique_array = array_unique($newarray, SORT_REGULAR);
    $commaList = implode(', ', $unique_array);
    echo "$commaList";
    //print_r($newarray); 
} 

$commaList = implode(', ', $unique_array);
我得到:

abcdefabcdefabcdefabcdef, qwerty

您可以这样做更新

$temp = array();
while($row = mysql_fetch_array($search)){ 
    $row2 = $row['scholarshipid']; 
    $newarray = unserialize($row2);
    $temp = array_merge($temp, $newarray);

}
$commaList = implode(', ', $temp);
print_r($commaList);

一切都完成了:p

你可以像这样更新

$temp = array();
while($row = mysql_fetch_array($search)){ 
    $row2 = $row['scholarshipid']; 
    $newarray = unserialize($row2);
    $temp = array_merge($temp, $newarray);

}
$commaList = implode(', ', $temp);
print_r($commaList);
这一切都完成了:p

从开始,你展示给我们的输出来自一个循环。因此,您首先必须将每次迭代中的所有数组收集到一个变量中,然后您可以将其内爆,例如

$result = []; while($row = mysql_fetch_array($search)){ $row2 = $row['scholarshipid']; $newarray = unserialize($row2); $unique_array = array_unique($newarray, SORT_REGULAR); $result = array_merge($result, $unique_array); } echo implode(",", $result); $result=[]; while($row=mysql\u fetch\u数组($search)){ $row2=$row['scholarshipid']; $newarray=unserialize($row2); $unique\u array=array\u unique($newarray,SORT\u REGULAR); $result=array\u merge($result$unique\u array); } 回波内爆(“,”,$result); 从图中可以看出,你们展示给我们的输出来自一个循环。因此,您首先必须将每次迭代中的所有数组收集到一个变量中,然后您可以将其内爆,例如

$result = []; while($row = mysql_fetch_array($search)){ $row2 = $row['scholarshipid']; $newarray = unserialize($row2); $unique_array = array_unique($newarray, SORT_REGULAR); $result = array_merge($result, $unique_array); } echo implode(",", $result); $result=[]; while($row=mysql\u fetch\u数组($search)){ $row2=$row['scholarshipid']; $newarray=unserialize($row2); $unique\u array=array\u unique($newarray,SORT\u REGULAR); $result=array\u merge($result$unique\u array); } 回波内爆(“,”,$result);
这个代码在循环中吗?是的。while($row=mysql\u fetch\u array($search)){然后请向我们展示您创建数组的位置和方式。while($row=mysql\u fetch\u array($search)){$row2=$row['scholarshipid'];$newarray=unserialize($row2);$unique\u array=array\u unique($newarray,SORT\u REGULAR);$commaList=内爆(',$unique\u array);echo“$commaList”;//print_r($newarray);}请在您的帖子中包含您的问题的任何附加信息。避免在评论中添加这些信息,因为它们更难阅读,也更容易删除。帖子的编辑按钮就在帖子标记的下方。这段代码是循环的吗?是的,是。while($row=mysql_fetch_array($search)){然后请向我们展示您创建数组的位置和方式。while($row=mysql\u fetch\u array($search)){$row2=$row['scholarshipid'];$newarray=unserialize($row2);$unique\u array=array\u unique($newarray,SORT\u REGULAR);$commaList=introde(',',$unique\u array);echo“$commaList”;//print\r($newarray)}请在您的帖子中包含您的问题的任何附加信息。避免在评论中添加这些信息,因为它们更难阅读,也更容易删除。帖子的编辑按钮就在帖子标签下方。问题是数组来自数据库,数量不会恒定。请正确阅读问题实际上,这是一个多维数组,没有什么不同arrays@TomCanfarotta我已经读过这个问题,但是结果不是关联数组,所以当你合并它时,它会在一个数组中提供两个数组。在这种情况下,它会合并while循环后的所有数组。内爆新数组。合并数组它会在一个数组中生成所有结果,然后e Incolde使$commaList成为你想知道的代码。我问更新后我的答案的区别在哪里。问题是数组的值来自数据库,数量将不是常数。请正确阅读问题,它是一个多维数组,没有什么不同arrays@TomCanfarotta我已经读过这个问题了结果不是关联数组,所以当你合并它时,它会在一个数组中给你两个数组。在这种情况下,它会合并while循环后的所有数组。内爆新数组。合并数组它会在一个数组中生成所有结果,然后内爆会生成$commaList,因为你想知道代码的作用。我问差异在哪里更新后,我将回答您的问题。@TomCanfarotta不客气。另请参阅:快速浏览网站。@TomCanfarotta不客气。另请参阅:快速浏览网站。