PHP 递归几种方法
一、利用静态变量的方法
<?php
function call(){
static $i = 0;
echo $i . '';
$i++;
if($i<10){
call();
}
}
call();
输出:
0 1 2 3 4 5 6 7 8 9
二、通过全局变量的方法
<?php $i=1;
function call(){
global $i;
echo $i;
$i++;
if($i<=10){
call();
}
}
call();
输出:
12345678910
三、通过引用传参的方式
<?php
function test($a=0,&$result=array()){
$a++;
if ($a<10){
$result[]=$a;
test($a,$result);
}
echo $a."<hr>";
return $result;
}
var_dump(test());
输出$a:

输出$result:

PHP 递归几种方法的更多相关文章
- C#统计给定的文本中字符出现的次数,使用循环和递归两种方法
前几天看了一个.net程序员面试题目,题目是”统计给定的文本中字符出现的次数,使用循环和递归两种方法“. 下面是我对这个题目的解法: 1.使用循环: /// <summary> /// 使 ...
- pat1067 在离散数学中置换群思想上可用并查集和递归两种方法求解问题
1.递归求解 注:叙述时 节点其实就是数字0-N-1 !!!最好用一个数组记录0-N-1每个数字的位置 !!!递归计算一个置换群内部的节点数 分为两种情况 累加M,M即是一个置换群所有数字在正确位置 ...
- 剑指offer-反向遍历链表-栈和递归2种方法(一次性跑通)
- Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法
Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. fs.listFiles方法,返回Loc ...
- 用Python计算幂的两种方法,非递归和递归法
用Python计算幂的两种方法: #coding:utf-8 #计算幂的两种方法.py #1.常规方法利用函数 #不使用递归计算幂的方法 """ def power(x, ...
- 趣味算法:字符串反转的N种方法(转)
老赵在反对北大青鸟的随笔中提到了数组反转.这的确是一道非常基础的算法题,然而也是一道很不平常的算法题(也许所有的算法深究下去都会很不平常).因为我写着写着,就写出来8种方法……现在我们以字符串的反转为 ...
- Java实现字符串反转的8种方法
/** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, ...
- windows 下mysql每日定时备份的几种方法
第一种:新建批处理文件 backup.dat,里面输入以下代码: 代码如下 复制代码 net stop mysql xcopy "C:/Program Files/MySQL/MySQL ...
- 让C程序更高效的10种方法(转)
原文:http://blog.jobbole.com/1198/ 代码之美,不仅在于为一个给定问题找到解决方案,而且还在代码的简单性.有效性.紧凑性和效率(内存).代码设计比实际执行更难 .因此,每一 ...
随机推荐
- 【pytorch】关于Embedding和GRU、LSTM的使用详解
1. Embedding的使用 pytorch中实现了Embedding,下面是关于Embedding的使用. torch.nn包下的Embedding,作为训练的一层,随模型训练得到适合的词向量. ...
- zookeeper集群的简单搭建
zookeeper简单介绍 zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目的一个子项目,并根据google发表的一篇论文来实现的.zookeeper为分布式系统提 ...
- PHP——??空合并运算符和?:三元运算符
前言 在上一篇随笔,用三元运算符简单写的一个东西,引发了对他的兴趣,所以打算研究下. PHP7的新特性: https://php.net/manual/zh/migration70.new-featu ...
- xadmin 数据添加报错: IndexError: list index out of range
报错现象 xadmin 集成到项目后进行添加数据的时候报错 具体如下 黄页 后端 具体报错定位 报错分析 点击这里 报错解决 源码 input_html = [ht for ht in super(A ...
- JumpServer1.0 服务搭建
JumpServer1.0 服务搭建 系统环境配置 setenforce 0 systemctl stop iptables.service systemctl stop firewalld.serv ...
- 记录一次群答问:jmeter正则提取器提取一个及多个值
图截得比较大,浏览器放大倍数看吧^_^ 前几天,在群里被@,咨询这样一个问题:服务器返回:name="tom" value="jerry" 要提取出name ...
- SpringMVC 文件上传下载
目录 文件上传 MultipartFile对象 文件下载 上传下载示例 pom.xml增加 创建uploadForm.jsp 创建uploadForm2.jsp 创建userInfo.jsp spri ...
- 同样级别iOS程序员,为啥比我菜的程序员薪资都比我高?
前言: 作为程序员,都有一种相同的焦虑——即当一次又一次的新技术浪潮袭来,总会不由自主的拼命跟随,总是担心如果不紧跟新技术的潮流,将会被时代所抛弃. 害怕年龄,害怕平庸,其实只是你在现实里的努力无法支 ...
- BAT面试经验分享——iOS高级开发工程师的自我总结!
序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了. 今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,随着各大公司秋招的开始,很多小伙伴都行动起来了,我也有幸获得了一份不 ...
- WAMP中的MySQL设置用户、密码 及 phpmyadmin的配置
打开localhost和phpadmin时注意是否改过端口(这两个的默认端口是80) 初始用户名:root 密码为空 改密后使用新密码. WAMP中的 mysql设置密码(默认密码为空)及 php ...