以逗号分隔的列表中的PHP数组
我有一个数组中正在解析的数据库中的项目列表以逗号分隔的列表中的PHP数组,php,arrays,csv,Php,Arrays,Csv,我有一个数组中正在解析的数据库中的项目列表 Array ( [0] => Array ( [dToken] => 731fea87ea9dc61f16e93f1ad2b964bf1926633acac151c1853ab91ea0465228 [0] => 731fea87ea9dc61f16e93f1ad2b964bf1926633acac151c1853ab91ea0465228 )
Array
(
[0] => Array
(
[dToken] => 731fea87ea9dc61f16e93f1ad2b964bf1926633acac151c1853ab91ea0465228
[0] => 731fea87ea9dc61f16e93f1ad2b964bf1926633acac151c1853ab91ea0465228
)
[1] => Array
(
[dToken] => d890a5002f7da8bd35f6cae50e597d6f11554b26ba686bc7314afe77d1b36a61
[0] => d890a5002f7da8bd35f6cae50e597d6f11554b26ba686bc7314afe77d1b36a61
)
)
我需要得到所有的dToken,并将它们列在一个变量中,每个dToken用逗号分隔,列表中最后一个除外
foreach($result as $device['dToken'] => $token){
//$devices = $token['dToken'];
print_r($token['dToken']);
}
有什么需要帮忙的吗?你就快到了
$tokens = array();
foreach($result as $device){
$tokens[] = $device['dToken'];
}
echo implode(',', $tokens);
要回答与平铺对应的问题(将数组转换为带分隔符的列表),请使用
内爆
函数。要生成CSV,我会使用googlephp CSV
,我确信已经有很多函数可以实现 您可以只构建字符串:
callback = function($row){
return $row['dToken'];
}
implode(",",array_map(callback,$result));
$cvsString = '';
$delimiter = '';
foreach($result as $device){
$cvsString.= $delimiter . $device['dToken'];
$delimiter = ',';
}
var_dump($cvsString);
或者,您可以先在阵列中构建:
$cvsArray = array();
foreach($result as $device){
$cvsArray[] = $device['dToken'];
}
var_dump(implode(',', $cvsArray));
您遇到了什么问题?我无法将所有的DToken用逗号表示成一个变量reuse@Blaine
join()
是内爆()的别名。请只使用内爆()
:)@PeeHaa有什么区别?@Blaine其他人看你的代码时会更清楚。你忘记了,“,”在第一个foreach
中,join
是内爆
的别名。你是对的,PHP不是我的第一语言,所以我使用join(正如许多其他语言使用“join”)。我将编辑我的回答。但是,如果您不能使用别名,为什么PHP会提供别名?;-)+1用于编辑:)但在编写代码时,务必防止其他人阅读/审阅您的代码。虽然这不是一个大问题,但在可能的情况下最好是预防它。除此之外,PHP已经内置了很多WTF,所以我总是尽量避开它们,以防混淆和错误。另外,你的答案没有什么“错误”,只是可以改进,imho:)谢谢你的帮助,作为额外的奖励,我如何将每个dToken扭曲到“”?$tokens[]=“.”.$device['dToken'.'”代码>