2012-12-05 29 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);