【问题标题】:PHP Array in to comma separated listPHP数组以逗号分隔的列表
【发布时间】:2012-08-08 18:17:00
【问题描述】:

我有一个来自数据库的项目列表正在数组中解析

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']);
}

有什么帮助吗?

【问题讨论】:

  • 您遇到了什么问题?
  • 我无法将所有 dToken 放入一个带逗号的变量中以供重复使用
  • @Blaine join()implode() 的别名。请使用implode() :)
  • @PeeHaa 有什么区别?
  • @Blaine 别人看你的代码会更清楚。

标签: php arrays csv


【解决方案1】:

你可以只构建字符串:

$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));

【讨论】:

  • 你忘记了第一个foreach中的','。
【解决方案2】:

你就在那里。

$tokens = array();
foreach($result as $device){
    $tokens[] = $device['dToken'];
}
echo implode(',', $tokens);

【讨论】:

  • 感谢这真的很有帮助,作为额外的奖励,我将如何扭曲“”中的每个 dToken?
  • $tokens[] = '"'.$device['dToken'].'"';
【解决方案3】:

要回答与图块对应的问题(将数组转换为带分隔符的列表),请使用implode 函数。要生成 CSV,我会用谷歌搜索 php CSV,我确信已经有很多功能可以做到这一点。

【讨论】:

  • joinimplode 的别名。
  • 你说得对,PHP 不是我的第一语言,所以我使用 join(因为许多其他语言都使用'join')。我会编辑我的答案
  • 但是,如果您不能使用 PHP,为什么还要提供别名呢? ;-)
  • +1 进行编辑 :) 但是在编码时很重要的是,始终尽量防止 WTF 让其他人阅读/审查您的代码。虽然它不是一个大的,但总是最好在可能的情况下阻止它。此外,PHP 已经内置了很多 WTF,所以我总是尽可能避免使用它们,以防止混淆和错误。附:您的回答没有任何“错误”,可以改进恕我直言:)
【解决方案4】:
callback = function($row){
    return $row['dToken'];
}

implode(",",array_map(callback,$result));

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    相关资源
    最近更新 更多