2012-08-08 75 views
2

我有一个数组PHP阵列分隔列表

Array 
(
    [0] => Array 
     (
      [dToken] => 731fea87ea9dc61f16e93f1ad2b964bf1926633acac151c1853ab91ea0465228 
      [0] => 731fea87ea9dc61f16e93f1ad2b964bf1926633acac151c1853ab91ea0465228 
     ) 

    [1] => Array 
     (
      [dToken] => d890a5002f7da8bd35f6cae50e597d6f11554b26ba686bc7314afe77d1b36a61 
      [0] => d890a5002f7da8bd35f6cae50e597d6f11554b26ba686bc7314afe77d1b36a61 
     ) 

) 

我需要让所有的dTokens,并一一列举出来的变量,每个dToken分隔从数据库中被解析的项目清单除了列表中的最后一个外,用逗号分隔。

foreach($result as $device['dToken'] => $token){ 
    //$devices = $token['dToken']; 
    print_r($token['dToken']); 
} 

任何帮助吗?

+0

什么问题您有? – PeeHaa 2012-08-08 18:19:52

+0

我无法将所有的dToken放到一个变量中,并用逗号重用 – 2012-08-08 18:20:34

+0

@Justin use'join' – Don 2012-08-08 18:21:28

回答

3

你就在那里。

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

谢谢你的帮助,只是作为一个额外的奖励,我会怎么扭曲每个dToken“”? – 2012-08-09 07:06:13

+0

'$ tokens [] =''''。$ device ['dToken']。''';' – jeremyharris 2012-08-09 13:45:40

2

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

+0

你是不是指'implode'? – 2012-08-08 18:23:59

+0

'join'是'implode'的别名。 – 2012-08-08 18:26:24

+0

你是对的,PHP不是我的第一语言,所以我使用连接(因为许多其他语言使用'连接')。我将编辑我的答案 – mb14 2012-08-08 18:29:52

-1
callback = function($row){ 
    return $row['dToken']; 
} 

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

你可以只建立字符串:

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

你忘了','在第一个'foreach'。 – 2012-08-08 18:23:46

+0

@Sven我当然确实:) – PeeHaa 2012-08-08 18:23:58