繁体   English   中英

多维数组字符串php

[英]Multidimensional array to string 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字符串?

谢谢,

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);
$user_ids = array();
foreach($users_array as $val){
    foreach($val as $v)){
       array_push($user_ids,$v['user_id']);
    }
} 
$users = implode(',',$user_ids);

此代码非常简单,也可以根据您的要求使用。

嘿@rjcode在php中,如果您要将数组转换为逗号分隔的字符串,请使用函数implode(分隔字母,$ array),反之亦然意味着将字符串转换为数组,因此请使用函数explode(分隔字母,字符串)

对于您的情况,请使用implode(),因此对于您的代码,请尝试以下代码之一

 <?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);
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM