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] => 牧
)
千里莺啼绿映红水村山郭酒旗风南朝四百八十寺多少楼台烟雨中唐杜牧
php分享一个n维数组转一维的函数的更多相关文章
- PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?
如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组' ...
- [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 ...
- MVC5中使用jQuery Post 二维数组和一维数组到Action
很久没有写了,最近在做一个MVC项目,这是我做的第一个MVC项目.之前可以说多MVC一点都不了解,今天把昨天遇到的一个问题记录下来.MVC大神就请飘过吧,跟我遇到同样问题的可以进来看看.遇到的第一个问 ...
- ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)
1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 154 Solved: 112[ ...
- new一个二维数组
.定义一个二维数组 char **array1 array1 = new char *[x]; for(i=0;i<x;++i) array1[i] = new char[y]; ...用的时候 ...
- php多维数组化一维数组
一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { retu ...
- implode 多维数组转一维数组并字符串输出
//多维数组返回一维数组,拼接字符串输出 public function r_implode( $glue, $pieces ) { foreach( $pieces as $r_pieces ) { ...
- c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
//题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. // #include "stdio.h" #include <stdli ...
- php中向前台js中传送一个二维数组
在php中向前台js中传送一个二维数组,并在前台js接收获取其中值的全过程方法: (1),方法说明:现在后台将数组发送到前台 echo json_encode($result); 然后再在js页面中的 ...
随机推荐
- 从数据库表中随机获取N条记录的SQL语句
Oracle: select * from (select * from tableName order by dbms_random.value) where rownum < N MS SQ ...
- C#动态创建Gridview及批量插入到数据库
这里介绍两种动态创建Gridview的方法: (一).有时需要应付上头领导的检查,所以就弄一些静态的Gridview来显示数据,这种方法的优点就是不用连接数据库,比较方便,但是代码灵活性不高,所有数据 ...
- Python rest-framework 中类的继承关系(as_view)
一. 背景 最近几天一直在学习restful framework的源代码,用户请求的流程,在路由系统这块遇到一个疑问,关于类的继承关系,当请求进来到路由这块,执行as_view()方法的时候,为什么会 ...
- .NET中的异步编程
开篇 异步编程是程序设计的重点也是难点,还记得在刚开始接触.net的时候,看的是一本c#的Winform实例教程,上面大部分都是教我们如何使用Winform的控件以及操作数据库的实例,那时候做的基本都 ...
- 数组原型方法调用及函数apply调用时 类数组参数在IE8下的问题
当函数以 apply 方式调用时, 传参方式是一个由各个参数组成的数组或类数组(一个有length属性的对象),传入参数个数取决于 length 的值,例如,某个对象 args.length=3; a ...
- replace的运用
replace() 方法用于在字符串中用一些字符替换另一些字符, 或替换一个与正则表达式匹配的子串. 语法: stringObject.replace(regexp / substr, replace ...
- web service概念、架构及相关知识
原文:http://blog.csdn.net/liu_shi_jun/article/details/51121597 一.WebService的定义 WebService有好几种定义: W3C组织 ...
- 可执行文件patch技术&&持续更新
前言 在ctf比赛中, 有时我们需要对可执行文件进行patch, 或者在植入后门时,patch也是常用的手段.不过手工patch比较麻烦,下面介绍几个工具.本文介绍遇到的各种技术,不断更新. ELF ...
- Android保持屏幕常亮
Android保持屏幕常亮,PowerManager.WakeLock的使用 package com.hebaijun.wakelock; import android.app.Activi ...
- 如何使用 adb 命令实现自动化测试
如何使用 adb 命令实现自动化测试 一.前提: 1.打开手机调试模式,确保手机已正常连接电脑,可在电脑上通过adb devices命令查看,结果如下说明连接成功: List of devices a ...