2017-01-10 128 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); 
?>