2012-12-05 82 views
1

我將如何轉換這陣從Facebook好友列表查詢,多維數組到字符串?

Array ( 
    [data] => Array ( 
     [0] => Array ( 
      [uid2] => 10000476689*** 
     ) 
     [1] => Array (   
      [uid2] => 10000477429*** 
     ) 
    ) 
) 

成一個逗號分隔字符串,如:10000476689***,10000476689***,1000047668***,這樣我就可以將其插入到我的數據庫。我必須先轉換成一個關聯數組然後implode(',' , $variable)

我已經試過這

function val_sort($array,$key){ 
    foreach($array as $k=> $v){ 
     $b[] =strtolower($v[$key]); 
    } 

    //print_r($b); 
    asort($b); 
    echo '</br>'; 
    //print_r($b); 

    foreach ($b as $k=>$v){ 
     $c[]=$array[$k]; 
    } 


    return $c; 
} 

$sorted =val_sort($fql_query_obj, 'uid2'); //$fql_query_obj; is from facebook// 
print_r ($sorted); 

而得到這個,

Array ([0] =>) 
+0

你有一些可行的答案下面,但是當我看到有人試圖插入逗號分隔的列表到MySQL,9次了10年,這意味着他們應該看規範化的數據庫架構。 –

回答

1

試試這個假設你的主陣列被加載到可變$array

$valuesArray = array(); 
foreach ($array['data'] as $inner$array) { 
    $valuesArray[] = current($innerArray); 
} 

$sqlStringValues = implode(',', $valuesArray); 
+0

公頃,剛剛在輸入東西幾乎完全像這樣,+1速度給你 – chris

+0

謝謝對於答覆的Stegrex代碼做了很多技巧感謝。 –

1

假設$array是你的數據陣列。

$array = array_map(function($data) { return $data['uid2']; }, $array); 
$string = implode(',', $array);