2012-08-08 110 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