php当中,如何将数组合并成变量呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php当中,如何将数组合并成变量呢?相关的知识,希望对你有一定的参考价值。

我写一个程序,要进行三次拆分成数组,但最终所有的信息又要合成一个变量内!然后传入数据库中的一个字段。

于是想问一下,将变量拆成数组后,信息处理一下,怎么再将数组合成变量呢?

array(a,b,c,d,e,f,g);

怎么将这个数组合成一个变量

变成:

$abc="abcdefg";

参考技术A 如果仅仅是合并,倒简单:
$new= implode('',array('a','b','c','d','e','f','g'));

但如果考虑再恢复成数组,所以你一定要使用分隔符才行,不然取不出来啊。。。

合并和取出的代码如下,你看看

<?php
//将数组合成一个变量,用|符分格;
$new=implode("|",array(a,b,c,d,e,f,g));

echo "变量值为:";
echo $new;
echo "<br>\n";

//将变量拆分成数组
$b=explode('|',$new);
foreach ($b as $key => $value)
echo "数组 $key 的值= $value<br>\n";
?>

serialize和unserialize也可以合并和拆开,只是数据长了一点。
参考技术B $abc = implode('',array('a','b','c','d','e','f','g'));

还可以序列化 serialize(array('a','b','c','d','e','f','g')) 在保存到数组
读后后 还原 用 unserialize
参考技术C $abc=array("a","b","c","d","e","f",'g");
$str=implode("",$abc);
echo $str;本回答被提问者采纳
参考技术D $abc = implode('',array('a','b','c','d','e','f','g'));

将一个二维数组合并成一个一维数组

    大家都知道php有内置的数组合并函数array_merage($arr,$arr1,$arr2,$arr3);那怎样把一个二维数组如array(array(‘a‘=>1,‘b‘=>2),array(‘c‘=>3,‘d‘=>4)) 合并成例如以下的数组

  array(‘a‘=>1,‘b‘=>2,‘c‘=>3,‘d‘=>4);似乎。php眼下还没有这种内置函数吧。于是自己动手写了两种方法,仅供大家參考

   第一种、方法当然是递归法呢,代码例如以下

   

<?

php $newarray=array(); function changearray($arr){ foreach($arr as $key=>$val){ if(is_array($val)){ changearray($val); }else{ global $newarray; $newarray[$key]=$val; } } } $arr=array(array('c'=>'d',array('d'=>'t',array('l'=>'m'))),array('e'=>'f'),'g'=>'gg','k'=>'kk'); changearray($arr); print_r($newarray);


另外一种、方法使用了一个小技巧,借用了call_user_func_array($array)。代码例如以下:

<?php 
  function merge_array($array){
    return call_user_func_array('array_merge',$array);
  }
  
  $arr=array(array('a'=>1,'b'=>2,'c'=>3),array(4,5,6));
  print_r(merge_array($arr));


以上是关于php当中,如何将数组合并成变量呢?的主要内容,如果未能解决你的问题,请参考以下文章

将一个二维数组合并成一个一维数组

如何以最有效的方式将两个未排序的数组合并成一个排序的数组?

如何把2个数组合并为一个数组

c++两个数组合并成一个新数组

Java中如何把两个数组合并为一个

php数组根据键名怎么合并呢