对于php的递归操作解释说明,递归基本上是学习每种语言都要会的最基本的操作。来吧,下面是我闲的时候随便写的一个对数组进行遍历操作的一个递归函数。

原理很简单,递归就是在一个函数里面调用自身的一种机制。

//My 测试数组遍历
//数组的第一种写法 $arr = ["han"=>1,"zhang","wang",["li",["zhao","zhou","wu","zheng"],"哈哈哈"],"game over"] 下面是数组的第二种写法
$arr = array(
"one"=>"val1",
"two"=>"val2",
"three"=>"val3",
"four"=>array(
"f-one"=>"f-val1",
"f-two"=>"f-val2",
"f-three"=>array(
"hc-one"=>"hc-val1",
"hc-two"=>"hc-val2",
"hc-three"=>"hc-val3"
)
),
"five"=>"val5"
);
function seac($arr){
if(!is_array($arr)){
echo $arr."不是数组";
return false;
}elseif(is_array($arr)){
foreach($arr as $k=>$v){
//数组主键
echo $k;
if(!is_array($v)){
//数组值
echo $v."<br />";
}else{
seac($v);
}
}
}else
return false;
}
$val = 100;
//输出100不是数组
seac($val);
//输出这个数组遍历过后的主键$k 和值 $v
seac($arr);

希望可以帮到一些初学者。

PHP递归操作的更多相关文章

  1. Java 7 中 NIO.2 的使用——文件递归操作

    众所周知,递归编程是一项有争议的技术,因为它需要大量的内存,但是它能简化一些编程任务.基本上,一个递归操作都是程序调用自己传递参数修改的值或者参数传递到当前的程序循环中.递归编程通常用来计算阶乘斐波那 ...

  2. 探讨SELECT语句的元数据&amp;动态取样&amp;读一致性导致的一致性读和递归操作

    前几天,论坛上的同行在讨论SELECT语句的元数据,动态取样和读一致性导致的一致性读和递归问题,今天有时间,就试着进行了测试,本人测试环境如下: win7_64+Oracle11.2.0.4_64 那 ...

  3. 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端

    在公司内部的微服务架构中有使用到了"ZooKeeper",虽然官方有提供了.NET的SDK,但易用性非常的差,且搜遍github.nuget,没有发现一个可以跨平台且易用的组件,所 ...

  4. Java 查询数据后进行递归操作

    java的递归方法记录: private List<Map<String, Object>> generateOrgMapToTree(List<Map<Strin ...

  5. php递归操作目录 递归对参数转义

    header("Content-type:text/html;charset=utf-8"); //递归读取目录 function reddir($path,$level=0) { ...

  6. [转]使用 Razor 进行递归操作

    本文转自:http://www.cnblogs.com/zbw911/archive/2013/01/10/2855025.html 做一个菜单,多级的会遇到递归的问题,打算在code中做一个递归方法 ...

  7. MYSQL 递归操作

    MYSQL 递归? ===================== 表: t_node node_id int node_name varchar2(45) parent_id int       级, ...

  8. 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作

    在我们管理内容管理系统时,数据量大时,对机器的依赖性就比较强了,比如,我要将一个文件夹中的很多图片上传到网站,一个个上传会很花时间,就想到了通过遍历文件夹得到文件名,并将路径与文件保存到数据库中对应的 ...

  9. Oracle递归操作

    需求:找出代理商中没有挂商家的代理商 简单SQL如下: select * from t_proxy tp where tp.id not in (SELECT tp.id as p_id FROM t ...

随机推荐

  1. XtraReport三动态数据绑定

    代码还用上一节的,把Report的Datasource去掉.各个绑定的字段也去掉,有了第二节的基础,现在看这个就不难了,无非就是传到report一个数据集,在把这个数据集绑定到各控件里 清空detai ...

  2. JavaScript判断变量类型

    使用JavaScript变量时是无法判断出一个变量是0 还是“”的 这时可用typeof()来判断变量是string 还是number来区分0和“”, typeof(undefined) == 'un ...

  3. xml解析demo使用

    package lianxi; import java.io.FileOutputStream;import java.io.OutputStreamWriter; import javax.xml. ...

  4. document.URL 和 windows.location.href的区别

    1. 从输出结果上,document.URL 和 windows.location.href 没有区别.2. 非要说区别的话,你只可以读取document.URL的值,不能修改它.windows.lo ...

  5. 如何处理Eclipse错误消息 The declared package does not match the expected package

    我从github下载了一个开源项目后,导入到自己Eclipse之后,遇到了这个烦人的错误消息: The declared package "com.sap.smartService" ...

  6. IOS 搜索条制作(UITextField 封装)

    封装到 HMSearchBar.h / .m #import <UIKit/UIKit.h> @interface HMSearchBar : UITextField + (instanc ...

  7. MySQL 相关文章参考

    MySQL 中隔离级别 RC 与 RR 的区别http://www.cnblogs.com/digdeep/p/4968453.html MySQL+InnoDB semi-consitent rea ...

  8. 1.08 在select语句使用条件逻辑

    问题:要在select语句中,对数值执行if-else操作.例如,要产生一个结果集,如果一个员工工资小于等于2000美金,就返回消息”underpaid”:如果大于等于4000美金:就返回消息”ove ...

  9. javascript当中的无限分类

    var data = [ {id:100000, name :"1", pid :0}, {id:100100, name :"1-1", pid :10000 ...

  10. The service command supports only basic LSB actions (start, stop, restart, try-restart, reload,force-reload, status)

    # service iptables save The service command supports only basic LSB actions (start, stop, restart, t ...