PHP使用递归算法无限遍历数组示例


Posted in PHP onJanuary 13, 2017

本文实例讲述了PHP使用递归算法无限遍历数组。分享给大家供大家参考,具体如下:

PS:为方便阅读,此处代码使用php代码格式化工具http://tools.3water.com/code/phpformat进行了格式化处理)

<?php
//无限遍历数组
$a1 = array("a", "b", "c"); //一维数组
$a2 = array(array(21, 3, 6), array("a", "b", "c")); //二维数组
$a3 = array(array(array(5, 55), 4, 444), 2, 7, 6, 8, array("w", "d", array(3, 2, "a"), "s")); //多维不规则数组
function fun($a) {
  foreach ($a as $val) {
    if (is_array($val)) { //如果键值是数组,则进行函数递归调用
      fun($val);
    } else { // 如果键值是数值,则进行输出
      echo "$val<br />";
    } //end if
    
  } //end foreach
  
} //end fun
//fun($a1);
//fun($a2);
fun($a3);
?>

输出:

5
55
4
444
2
7
6
8
w
d
3
2
a
s

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP4实际应用经验篇(2)
Oct 09 PHP
mysql5写入和读出乱码解决
Nov 25 PHP
php下通过POST还是GET来传值
Jun 05 PHP
PHP去除数组中重复的元素并按键名排序函数
Aug 18 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
QueryPath PHP 中的jQuery
Apr 11 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
Aug 15 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
Jan 13 #PHP
PHP使用strrev翻转中文乱码问题的解决方法
Jan 13 #PHP
使用php完成常见的文件上传功能(推荐)
Jan 13 #PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 #PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 #PHP
php中分页及SqlHelper类用法实例
Jan 12 #PHP
PHP生成图片验证码功能示例
Jan 12 #PHP
You might like
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
原生JS实现天气预报
2020/06/16 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
深入学习python的yield和generator
2016/03/10 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
python查看列的唯一值方法
2018/07/17 Python
python绘制中国大陆人口热力图
2018/11/07 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
Python简单基础小程序的实例代码
2019/04/28 Python
python opencv实现证件照换底功能
2019/08/19 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
Python中如何定义一个函数
2016/09/06 面试题
2015年见习期工作总结
2014/12/12 职场文书
党员民主生活会材料
2014/12/15 职场文书
护士年终考核评语
2014/12/31 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
干部培训简讯
2015/07/20 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
Python序列化模块JSON与Pickle
2022/06/05 Python