Reputation: 1349
I have below array and i am trying to convert to string separated with comma.
$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
)
)
)
Then i tried to convert in string with foreach
for($i = 0; $i < count($users_array); $i++){
$xyz[] = implode(",",$users_array[$i]);
}
$users = implode(',',$xyz);
But it throw error Message: Array to string conversion
How can i convert it to string like 1,5,6,13
?
Thank you,
Upvotes: 0
Views: 503
Reputation: 2561
hey @rjcode in php if you want to convert an array to comma separated string so use function implode(separation letter, $array) and for vice versa means string to an array so use function explode(separation letter, string)
for your case use use implode() so for your code try below one
<?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);
?>
Upvotes: 0
Reputation: 309
$user_ids = array();
foreach($users_array as $val){
foreach($val as $v)){
array_push($user_ids,$v['user_id']);
}
}
$users = implode(',',$user_ids);
This code is very easy and also use for as per your requirement.
Upvotes: 0
Reputation: 2205
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);
Upvotes: 1