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

yipeiwu_com6年前PHP代码库

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

PS:为方便阅读,此处代码使用php代码格式化工具http://tools.jb51.net/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数据结构与算法教程》、《php程序设计算法总结》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

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

相关文章

利用PHP抓取百度阅读的方法示例

前言 这篇文章主要介绍的是,如何利用PHP抓取百度阅读的方法,下面话不多说,来一起看看吧。 抓取方法如下 首先在浏览器里打开阅读页面,查看源代码后发现小说的内容并不是直接写在页面里的,也...

PHP中预定义的6种接口介绍

PHP预定义了6个接口介绍如下: 1.Traversable遍历接口 呵呵!其实它不是一个在PHP中可以使用的接口,内部类才可使用,它有一个用途就是检测一个类是否可以遍历。 if($...

Thinkphp单字母函数使用指南

A方法 A方法用于在内部实例化控制器,调用格式:A(‘[项目://][分组/]模块','控制器层名称') 最简单的用法: 复制代码 代码如下: $User = A('User');...

thinkphp实现把数据库中的列的值存到下拉框中的方法

1. 先去数据库中查值,查询整个数据表,结果为二维数组。 $project = M("project"); $cell = $project->where(array('s...

PHP设计模式之单例模式原理与实现方法分析

本文实例讲述了PHP设计模式之单例模式原理与实现方法。分享给大家供大家参考,具体如下: 一、什么是单例模式 作为对象的创建模式,单例模式确保某一个类只有一个实例,并且对外提供这个全局实例...