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中include和require的区别实例分析

先编辑command.php文件 echo 'hello'.PHP_EOL; 然后编辑console.php文件 for($i=1;$i<=3;++$i){ requ...

php 常用字符串函数总结

1.格式化输出 chop 是rtrim()的别名; ltrim() trim() nl2br()将\n转换成<br> print,echo,printf(),sprint...

PHP curl 获取响应的状态码的方法

PHP curl可以从服务器端模拟一个http请求,例如抓取网页、模拟登陆等。根据选项设置,可以在curl_exec的返回结果中获取到响应头和body,但这没有响应的状态吗。想要获取状态...

linux环境apache多端口配置虚拟主机的方法深入介绍

默认情况下,linux上apache使用的默认文档目录是:/var/www默认端口是:80如果想发布自己的一个系统资源目录,可以使用下面的方法,执行如下命令:(1)添加监听端口#cd /...

PHP中10个不常见却非常有用的函数

1. sys_getloadavg() sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1、5和15分钟内的平均负载。...