php多维数组转化为一维数组的几种方法
时间:2017-07-27
本文向大家介绍php如何将多维数组转化为一维数组的几种方法(数组的扁平化),需要的朋友可以参考一下。
第一种方法:
您可以使用标准PHP库(SPL)来“隐藏”递归。
$a = array(1,2,array(3,4, array(5,6,7), 8), 9);
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($a));
foreach($it as $v) {
echo $v, " ";
}
输出结果:
1 2 3 4 5 6 7 8 9
第二种方法:
从PHP 5.3开始,最短的解决方案似乎是array_walk_recursive()
使用新的闭包语法:
function flatten(array $array) {
$return = array();
array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
return $return;
}
第三种方法:
自定义函数法
function array_flatten($array) {
$return = array();
foreach ($array as $key => $value) {
if (is_array($value)){
$return = array_merge($return, array_flatten($value));
} else {
$return[$key] = $value;
}
}
return $return;
}
$array = Your array
$result = array_flatten($array);
echo "<pre>";
print_r($result);
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 字符串匹配算法之KMP
- Koa配置路由
- Koa中配置使用ejs模板引擎
- 看完这篇文章,还说自己不会使用Zookeeper命令吗
- 深入理解MySQL索引设计和优化原则
- 一路踩坑构建Dubbo源码
- vue引入echarts实现数据可视化
- 【七夕特殊礼物】Dubbo学习之SPI实战与debug源码
- Spring学习之浅析refresh()执行逻辑
- vue-lazyload实现图片懒加载
- Python教程之粒子运动轨迹动态绘图
- BFE.dev前端刷题11 - 什么是composition?实现一个pipe()方法
- SSH整合主要XML代码
- struts标签中的select
- 通过反射技术获取泛型真实实例