2014-09-12 58 views
0

我有以下形式的多维PHP数组:产生阵列的列表奇偶视频PHP行为的值

Array 
(
    [0] => Array 
     (
      [id] => 45 
      [date] => 2013-05-16 
     ) 

    [1] => Array 
     (
      [id] => 30 
      [date] => 2013-12-10 
     ) 

    [2] => Array 
     (
      [id] => 26 
      [date] => 2014-03-27 
     ) 

    [3] => Array 
     (
      [id] => 34 
      [date] => 2014-03-27 
     ) 

) 

我试图产生[ID]的值的列表,以逗号分隔,使用下面的PHP代码:

foreach ($my_array as $key => $value) { 
    if ($key == 0) { 
     $id_list = $value[id]; 
    } 
    if ($key !== 0) { 
     $id_list .= "," . $value[id]; 
    } 
} 

我希望这将返回

45,30,26,34 

...但对于s它返回的原因

45,30,26,26 

即倒数第二个ID被复制并且最后的ID被错过。我一直在盯着这一段时间,但我看不出我要去哪里错了。我错过了明显的东西吗?

+0

会使用['implode'(http://php.net/manual/en/function.implode.php)工作满足您的需求? – summea 2014-09-12 16:28:44

回答

5

更好的解决办法是不使用那些if()可言:

$ids = array(); 
foreach($arr as $val) { 
    $ids[] = $val['id']; 
} 

$id_str = implode(',', $ids); 
+0

谢谢 - 现在完美工作 – user1684046 2014-09-12 16:42:04