-7

我有一个格式如下所示的二维数组。我将如何仅输出user_idusingimplode()这样的最终结果1705,1757,1832

 Array ( 
    [0] => 
    Array ( 
        [nickname] => picachu 
        [user_id] => 1705 
        [name] => picachu .jpg 
        [city_name] => pallet town
    ) 
    [1] =>
     Array (
       [nickname] => charmander 
       [user_id] => 1757  
       [name] => charmander.jpg 
       [city_name] => verivian city 
    ) 
    [2] =>
    Array ( 
       [nickname] => squaretle 
       [user_id] => 1832 
       [name] => squaretle.jpg 
       [city_name] => Celadon 
    ) 
) 
4

4 回答 4

2

PHP 5.5:

$result = join(',', array_column($data, 'user_id'));

5.3<=PHP<=5.4:

$result = join(',', array_map(function($item)
{
   return $item['user_id'];
}, $data));

PHP<5.3:

$result = join(',', array_map(create_function('$item', 'return $item["user_id"];')));
于 2013-10-11T07:45:03.257 回答
1
$nested_array = array();
foreach($array as $a) {
    $nested_array[] = $a['user_id'];
}
$implode = implode(',',$nested_array);

或者

$implode = '';
foreach($array as $a) {
    $implode .= $a['user_id'] . ',';
}
$implode = substr($implode,-1);
于 2013-10-11T07:42:35.953 回答
1

你可以试试这个:

foreach ($array as $row)
{
  $values[] = $row['user_id'];

}
$user_id= implode(',', $values);

echo $user_id;
?>
于 2013-10-11T07:44:19.473 回答
1

你也可以试试:

implode(', ', array_map(function($k){ return $k['user_id'];}, $arr));
于 2013-10-11T07:50:19.557 回答