一、多维数组转字符串:
一、多维数组转字符串:
在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文件后缀不强制为.php的实操方法 2023-02-13
- php5.6.x到php7.0.x特性小结 2023-02-05
- php上传后台无法收到数据解决方法 2023-03-12
- tp5 实现列表数据根据状态排序 2023-03-03
- TP3.2框架分页相关实现方法分析 2023-04-20
- php实现银联商务公众号+服务窗支付的示例代码 2023-03-02
- 解决php扩展安装不生效问题 2023-03-12
- PHP模糊查询技术实例分析【附源码下载】 2022-12-30
- Linux-php-fpm的pool 2023-09-02
- PHP基于二分法实现数组查找功能示例【循环与递归算法】 2022-10-02