一、多维数组转字符串:
一、多维数组转字符串:
在PHP中实现多维数组转字符串的方法有如下两种:
1.递归方法
//递归遍历方法实现多维数组转字符串
function arrToStr($arr){
$str = '';
foreach($arr as $key=>$val){
if(is_array($val)){
$str.= arrToStr($val);//再次调用arrToStr()
}else{
$str.= $val.'|';//将所有的值用'|'拼接字符串
}
}
return $str;
}
//测试代码
$arr = array('a','b',array('c','d',array('e','f','g'),'h'),'i','j');
$str = arrToStr($arr);
echo $str; //输出a|b|c|d|e|f|g|h|i|j|
2.使用PHP系统函数
//使用implode()函数实现多维数组转字符串
function arrToStr($arr){
$toStr = array();
array_walk_recursive($arr,function($v,$k) use (&$toStr){ $toStr[] = $v; });//将多维数组转一维数组
return implode("|",$toStr);//将一维数组中的所有值用'|'拼接成字符串
}
//测试代码
$arr = array('a','b',array('c','d',array('e','f','g'),'h'),'i','j');
$str = arrToStr($arr);
echo $str; //输出a|b|c|d|e|f|g|h|i|j|
二、多维数组转一维数组
在PHP中实现多维数组转一维数组的方法有如下两种:
1.递归方法
//递归遍历方法实现多维数组转一维数组
function arrToOne($arr){
foreach($arr as $key=>$val){
if(is_array($val)){
$arr = array_merge($arr,arrToOne($val));//递归调用arrToOne()函数重新整理数组
unset($arr[$key]);//删除原有的多维数组
}
}
return $arr;
}
//测试代码
$arr = array('a','b',array('c','d',array('e','f','g'),'h'),'i','j');
$toArr = arrToOne($arr);
print_r($toArr); //输出array('a','b','c','d','e','f','g','h','i','j')
2.使用PHP系统函数
//使用array_reduce()函数将一个多维数组转换成一维数组
function arrToOne($arr){
return array_reduce($arr,function($v,$w){
if(is_array($w)){
return array_merge($v,arrToOne($w));
}else{
return array_merge($v,array($w));
}
},array());
}
//测试代码
$arr = array('a','b',array('c','d',array('e','f','g'),'h'),'i','j');
$toArr = arrToOne($arr);
print_r($toArr); //输出array('a','b','c','d','e','f','g','h','i','j')
以上就是PHP实现多维数组转字符串和多维数组转一维数组的两种方法,希望对你有所帮助。
编程基础网
本文标题为:PHP实现多维数组转字符串和多维数组转一维数组的方法
基础教程推荐
猜你喜欢
- php JWT在web端中的使用方法教程 2022-11-17
- PHP局部异常因子算法-Local Outlier Factor(LOF)算法的具体实现解析 2023-06-13
- PHP封装的验证码工具类定义与用法示例 2022-11-12
- PHP实现的最大正向匹配算法示例 2022-10-02
- php抽象类和接口知识点整理总结 2023-01-31
- php删除数组指定元素实现代码 2023-12-18
- PHP消息队列实现及应用详解【队列处理订单系统和配送系统】 2023-01-15
- PHP explode()函数用法、切分字符串 2023-12-07
- 浅谈php字符串反转 面试中经常遇到 2022-10-05
- php-fpm添加service服务的例子 2022-10-15
