PHP递归操作
对于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递归操作的更多相关文章
- Java 7 中 NIO.2 的使用——文件递归操作
众所周知,递归编程是一项有争议的技术,因为它需要大量的内存,但是它能简化一些编程任务.基本上,一个递归操作都是程序调用自己传递参数修改的值或者参数传递到当前的程序循环中.递归编程通常用来计算阶乘斐波那 ...
- 探讨SELECT语句的元数据&动态取样&读一致性导致的一致性读和递归操作
前几天,论坛上的同行在讨论SELECT语句的元数据,动态取样和读一致性导致的一致性读和递归问题,今天有时间,就试着进行了测试,本人测试环境如下: win7_64+Oracle11.2.0.4_64 那 ...
- 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端
在公司内部的微服务架构中有使用到了"ZooKeeper",虽然官方有提供了.NET的SDK,但易用性非常的差,且搜遍github.nuget,没有发现一个可以跨平台且易用的组件,所 ...
- Java 查询数据后进行递归操作
java的递归方法记录: private List<Map<String, Object>> generateOrgMapToTree(List<Map<Strin ...
- php递归操作目录 递归对参数转义
header("Content-type:text/html;charset=utf-8"); //递归读取目录 function reddir($path,$level=0) { ...
- [转]使用 Razor 进行递归操作
本文转自:http://www.cnblogs.com/zbw911/archive/2013/01/10/2855025.html 做一个菜单,多级的会遇到递归的问题,打算在code中做一个递归方法 ...
- MYSQL 递归操作
MYSQL 递归? ===================== 表: t_node node_id int node_name varchar2(45) parent_id int 级, ...
- 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作
在我们管理内容管理系统时,数据量大时,对机器的依赖性就比较强了,比如,我要将一个文件夹中的很多图片上传到网站,一个个上传会很花时间,就想到了通过遍历文件夹得到文件名,并将路径与文件保存到数据库中对应的 ...
- Oracle递归操作
需求:找出代理商中没有挂商家的代理商 简单SQL如下: select * from t_proxy tp where tp.id not in (SELECT tp.id as p_id FROM t ...
随机推荐
- Java入门之JDK安装及环境变量配置
一.安装JDK 安装过程中会出现两次安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹中. (注:若无安装目录要求,可全默认设置.无需做任何 ...
- Entity Framework中IQueryable, IEnumerable, IList的区别[转]
使用工具追踪EF生成的SQL 使用Entity Framework等ORM框架的时候,SQL对于使用者来说是透明的,往往很多人也不关心ORM所生成的SQL,然而系统出现性能问题的时候就必须关注生成的S ...
- 设计模式之装饰器模式io的小入门(十一)
装饰器模式详解地址 原文总结 定义: 在不必改变原类文件和使用继承的情况下, 动态的扩展一个对象的功能. 通过创建一个包装对象, 也就是装饰来包裹真实的对象 部分详解提示 看了一些文档, 装饰器模式非 ...
- hibernate课程 初探一对多映射2-3 创建hibernateUtil工具类
本节主要内容:创建hibernateUtil工具类:demo demo: HibernateUtil.java package hibernate_001; import org.hibernate. ...
- 各种推导式<"一行能解决的事,为什么要用那么多行">
一.推导式 1.列表:[结果 for循环 条件筛选] 2.字典:{k:v for循环 条件筛选} 3.集合推导式{k for循环 条件筛选} ???为什么没有元组推导式 二.生成器表达式(元组表达式) ...
- Python并发编程之进程池与线程池
一.进程池与线程池 python标准模块concurrent.futures(并发未来) 1.concurrent.futures模块是用来创建并行的任务,提供了更高级别的接口,为了异步执行调用 2. ...
- 如何查询mysql中date类型的时间范围记录?
java date类型 会不会自动转换 mysql date类型? 抹除掉后面 时间 ? 时间不是查询条件?
- centos6.5_64bit-Tomcat7安装部署
此次安装系统版本及软件版本 centos6.5-64bit java -1.7.0_45 jdk1.8.0_111 apache-tomcat-7.0.73 一.检查java版本信息 ...
- Django基础--2
一.路由系统 URL 1.模板语言循环字典 1.简单的字典循环 <ul> {% for i in user_dict %} <li>{{ i }}</li> {% ...
- 笨办法学Python(三十六)
习题 36: 设计和调试 现在你已经学会了“if 语句”,我将给你一些使用“for 循环”和“while 循环”的规则,一面你日后碰到麻烦.我还会教你一些调试的小技巧,以便你能发现自己程序的问题.最后 ...