去评论
dz插件网

implode() 一维数组和多唯数组转字符串

admin
2021/04/05 21:29:43
首先是一维数组
  1. <?php    $arr=array('a','b','c','d','e');    $s=implode($arr);  //默认是以空字符合并数组元素    //$s=implode(',',$arr);  //指定以","合并数组元素    echo $s;?>
这时,我们已经得到了数组 $arr 的内容。
那么多维数组呢?
  1. <?php    $arr=array('a','b',array('4','5','6'),'c','d','e',array('1','2','3'));  //定义一个二维数组    $s=implode(',',$arr);    echo $s;?>
输出$s得出的结果是
a,b,Array,c,d,e,Array
也就是说,我们需要先将多维数组转换成一维数组,再用implode()转换成字符串
比如下面这个例子:
Array (
        [0] => Array (
                [credits] => 4
        )
        [1] => Array (
                [credits] => 8
        )
)
从输出结果上来看这是一个三维数组,那么接下来就需要先将他转为一维数组。
  1. <?phpfunction array_merge_rec(&$array) {    // 定义一个新的数组    $new_array = array ();    // 遍历当前数组的所有元素    foreach ( $array as $item ) {        if (is_array ( $item )) {            // 如果当前数组元素还是数组的话,就递归调用方法进行合并            array_merge_rec ( $item );            // 将得到的一维数组和当前新数组合并            $new_array = array_merge ( $new_array, $item );        } else {            // 如果当前元素不是数组,就添加元素到新数组中            $new_array [] = $item;        }    }    // 修改引用传递进来的数组参数值    $array = $new_array;}?>
  1. array_merge_rec($test);//转为一维数组
  1. $tests = implode(',',$test);//转为字符串
这时我们再输出$tests就得到了
4,8