2017-01-10 84 views
0

我有下面的数组,我试图转换为以逗号分隔的字符串。多维数组到字符串php

$users_array = Array 
(
[0] => Array 
    (
     [0] => Array 
      (
       [user_id] => 1 
      ) 

     [1] => Array 
      (
       [user_id] => 5 
      ) 

    ) 

[1] => Array 
    (
     [0] => Array 
      (
       [user_id] => 6 
      ) 

     [1] => Array 
      (
       [user_id] => 13 
      ) 

    ) 

) 

然后我试图在字符串转换用foreach

for($i = 0; $i < count($users_array); $i++){ 
    $xyz[] = implode(",",$users_array[$i]); 
} 
$users = implode(',',$xyz); 

但它抛出错误Message: Array to string conversion

我怎样才能将其转换为字符串如1,5,6,13

谢谢

回答

1
for($i = 0; $i < count($users_array); $i++){ 
    for($j = 0; $j < count($users_array[$i]; $j++)) { 
     $xyz[] = $users_array[$i][$j]["user_id"]; 
    } 
} 
$users = implode(',',$xyz); 
0
$user_ids = array(); 
foreach($users_array as $val){ 
    foreach($val as $v)){ 
     array_push($user_ids,$v['user_id']); 
    } 
} 
$users = implode(',',$user_ids); 

这段代码是很容易的,也使用按您的要求。

0

哎@rjcode在PHP中,如果你要转换的阵列,以逗号分隔字符串 所以使用功能破灭(分离的信,$阵列)和副 反之亦然意味着字符串数组所以使用功能发生爆炸(分离 字母,字符串)

您使用的情况下使用破灭(),所以下面的代码尝试一个

<?php 
    for($i = 0; $i < count($users_array); $i++){ 
    for($j = 0; $j < count($users_array[$i]; $j++)) { 
     $xyz[] = $users_array[$i][$j]["user_id"]; 
    } 
    } 
    $users = implode(',',$xyz); 
?>