zoukankan      html  css  js  c++  java
  • php分享一个n维数组转一维的函数

    好玩,所以做了这么一个函数,来输出唐诗

    函数如下

    function changearr($arr){
    	if(count($arr)==count($arr,1)){
    		return $arr;
    	}
    	else{
    		foreach ($arr as $key=>$value){
    			if(is_array($value)){
    				foreach($value as $k=>$v){
    					$arr[] = $v;
    				}
    				unset($arr[$key]);
    			}
    		}
    	}
    	$arr = array_values($arr);
    	return changearr($arr);
    }
    

      测试数据如下

    $a = array(
    	0=>'千',
    	1=>array(
    		0=>'里',
    		1=>'莺',
    	),
    	2=>array(
    		0=>array(
    			0=>'啼',
    			1=>'绿',
    		),
    		1=>array(
    			0=>'映',
    			1=>'红',
    		),
    	),
    	3=>array(
    		0=>array(
    			0=>array(
    				0=>'水',
    				1=>'村',
    			),
    			1=>array(
    				0=>'山',
    				1=>'郭',
    			),
    		),
    		1=>array(
    			0=>array(
    				0=>'酒',
    				1=>'旗',
    			),
    			1=>array(
    				0=>'风',
    				1=>'南',
    			),
    		),
    	),
    	4=>array(
    		0=>array(
    			0=>array(
    				0=>array('朝','四'),
    				1=>array('百','八'),
    			),
    			1=>array(
    				0=>array('十','寺'),
    				1=>array('多','少'),
    			),
    		),
    		1=>array(
    			0=>array(
    				0=>array('楼','台'),
    				1=>array('烟','雨'),
    			),
    			1=>array(
    				0=>array('中','唐'),
    				1=>array('杜','牧'),
    			),
    		),
    	),
    );
    

      调用如下

    $return = changearr($a);
    echo '<pre/>';
    print_r($return);
    $tangshi='';
    foreach($return as $k=>$v){
    	$tangshi.=$v;
    }
    echo $tangshi;
    

      输出如下

    Array
    (
        [0] => 千
        [1] => 里
        [2] => 莺
        [3] => 啼
        [4] => 绿
        [5] => 映
        [6] => 红
        [7] => 水
        [8] => 村
        [9] => 山
        [10] => 郭
        [11] => 酒
        [12] => 旗
        [13] => 风
        [14] => 南
        [15] => 朝
        [16] => 四
        [17] => 百
        [18] => 八
        [19] => 十
        [20] => 寺
        [21] => 多
        [22] => 少
        [23] => 楼
        [24] => 台
        [25] => 烟
        [26] => 雨
        [27] => 中
        [28] => 唐
        [29] => 杜
        [30] => 牧
    )
    千里莺啼绿映红水村山郭酒旗风南朝四百八十寺多少楼台烟雨中唐杜牧
    

      

  • 相关阅读:
    BZOJ4036 HAOI2015按位或(概率期望+容斥原理)
    洛谷p2661信息传递题解
    洛谷P1434滑雪题解及记忆化搜索的基本步骤
    二分图最大匹配
    线段树

    图论基本算法
    并查集
    RMQ--ST表
    矩阵快速幂和矩阵乘法
  • 原文地址:https://www.cnblogs.com/taijun/p/3924798.html
Copyright © 2011-2022 走看看