找回密码
 注册

[PHP] PHP 将多维数组转换为一维数组

php 发表于 2013/2/28 10:41 | 显示全部楼层 |阅读模式
PHP如何将多维数组转换为一维数组并且保留原始元素的键名?
  1. <?php
  2. /*
  3. * www.qSyz.net 脚本
  4. * 运用递归将多维数组转一维数组
  5. * @param $a 需要转换的原始数组
  6. * return 转换后的一维数组
  7. */
  8. function array_reform($a){
  9.         static $o = array();
  10.         if(!is_array($a)) return false;
  11.         foreach($a as $k=>$v){
  12.                 if(is_array($v)){
  13.                         array_reform($v);
  14.                 }else{
  15.                         $o[$k] = $v;
  16.                 }
  17.         }
  18.         return $o;
  19. }
  20. //下面是一个实例
  21. $r = array(
  22.                 '1v'=>'1v',
  23.                 3,
  24.                 5,
  25.                 array(
  26.                         '2v'=>'2v',
  27.                         array('3v'=>'3v')
  28.                 )
  29.         );
  30. print_r(array_reform($r));
  31. ?>
复制代码
 楼主| php 发表于 2014/3/25 21:28 | 显示全部楼层
如果要保留重复元素,把 $o[$k] 中的 $k 去掉即可。
回复

使用道具 举报

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表