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

函数如下

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] => 牧
)
千里莺啼绿映红水村山郭酒旗风南朝四百八十寺多少楼台烟雨中唐杜牧

  

php分享一个n维数组转一维的函数的更多相关文章

  1. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组' ...

  2. [CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组

    13.10 Write a function in C called my2DAlloc which allocates a two-dimensional array. Minimize the n ...

  3. MVC5中使用jQuery Post 二维数组和一维数组到Action

    很久没有写了,最近在做一个MVC项目,这是我做的第一个MVC项目.之前可以说多MVC一点都不了解,今天把昨天遇到的一个问题记录下来.MVC大神就请飘过吧,跟我遇到同样问题的可以进来看看.遇到的第一个问 ...

  4. ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)

    1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 154  Solved: 112[ ...

  5. new一个二维数组

    .定义一个二维数组 char **array1 array1 = new char *[x]; for(i=0;i<x;++i) array1[i] = new char[y]; ...用的时候 ...

  6. php多维数组化一维数组

    一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { retu ...

  7. implode 多维数组转一维数组并字符串输出

    //多维数组返回一维数组,拼接字符串输出 public function r_implode( $glue, $pieces ) { foreach( $pieces as $r_pieces ) { ...

  8. c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点

    //题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. // #include "stdio.h" #include <stdli ...

  9. php中向前台js中传送一个二维数组

    在php中向前台js中传送一个二维数组,并在前台js接收获取其中值的全过程方法: (1),方法说明:现在后台将数组发送到前台 echo json_encode($result); 然后再在js页面中的 ...

随机推荐

  1. ADO调用分页查询存储过程

    一.分页存储过程 ----------使用存储过程编写一个分页查询----------------------- set nocount off --关闭SqlServer消息 --set nocou ...

  2. 利用SignalR来同步更新Winfrom小试

    之前写了个用Socket来更新多个Winfrom的试例,这两天看了下SignalR,也用这个来试一下 SignalR 地址:https://www.asp.net/signalr 我这个也是基于 ht ...

  3. SEDA架构程序实现

    一.SEDA SEDA全称是:stage event driver architecture,中文直译为“分阶段的事件驱动架构”,它旨在结合事件驱动和多线程模式两者的优点,从而做到易扩展,解耦合,高并 ...

  4. java,JsonFormat格式化日期问题

    今天使用以下代码格式日期字段 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; 发现这样渲 ...

  5. C Traps:运算

    位移 如果sizeof(int) = 4,那么下面的代码的结果是什么? int x=255; printf("%d", x>>34); 实际输出:63 在编译这个代码时 ...

  6. Code Signal_练习题_shapeArea

    A 1-interesting polygon is just a square with a side of length 1. An n-interesting polygon is obtain ...

  7. Wampserver环境配置

    ☆根目录修改问题 /.修改运行根目录 1.修改apache配置,将服务请求定位到新目录下 →左击wampserver,点击Apache打开httpd.conf文件,Ctrl+f搜索documentro ...

  8. 解决:在php配置文件路径下,添加php.ini之后,测试页面无法显示

    安装完php之后,通常情况下,会在网站目录下创建一个.php的文件,来查看php安装过程中的参数配置,脚本的内容很简单: <? phpinfo(); ?> 通常情况下,如果能顺利安装下来不 ...

  9. UVAlive6800The Mountain of Gold?(负环)

    题意 题目链接 问从\(0\)出发能否回到\(0\)且边权为负 Sol 先用某B姓算法找到负环,再判一下负环上的点能否到\(0\) #include<bits/stdc++.h> #def ...

  10. JS实现的数组全排列输出算法

    本文实例讲述了JS实现的数组全排列输出算法.分享给大家供大家参考.具体分析如下: 这段js代码对数组进行全排列输出,改进了一些老的代码 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来, ...