php核心语法,PHP核心语法总结
这些天学习了PHP的核心编程语法,PHP核心语法概括起来不多,大致分为php标签,语法规范、数据类型、变量、常量、当然还有预定义的,还有操作符、循坏等等,最后几天学习了函数,其中数组的常用函数非常多。例如array_merge、rand、asort、arsort这些,在日后项目中会用的比较多。
数组的函数里,foreach()与while-list-each()两个遍历数组的函数最为强大,不仅能解决访问数组的问题,而且它的返回值各有特点,可以灵活运用在往后数据库数据的处理中。
平时的应用PHP语言的实操中,我认为比较难一点的就是递归,它比迭代在理解上要难一点,迭代的原理跟常用的for循坏差不多,但是递归却不一样,递归难就难在递归的出口如何定义,什么时候定义,定义的条件应该是怎样,好比“斐波那契数列”那一道经典的题目:
/**
* 斐波那契数列
* @param int $n 数列的项数
* @return int $s 数列的最后一项的值
*/
function f($n) {
// 递归出口
if($n == 1 || $n == 2) {
return 1;
}
// 递归点
$s = f($n - 1) + f($n - 2);
return $s;
}
// 调用函数并输出
echo f($_GET[‘n‘]);
刚刚接触递归时遇到这个算术题,在递归出口那里有点混了,主要是反应不过来递归点的f($n-1)与f($n-2)这两个函数调用里的值怎么求出来,即使知道它是一层一层往下算直到n=1和2时候会返回一个值,然后电脑进行往回的计算,但是一开始我却陷入了自己的不好的理解,就是递归点的两个函数重新回去后是经过怎样的计算。但是后来的话,我在午饭的时候想了好几次,搞明白了是当n赋值给形参时,不满足出口条件,就往下变为n-1与n-2两个数相加,但是这两个数是未知的,只有n=1和n=2时的值才是确定的1,所以只能继续调用函数,将n-1重新传值给函数形参,那么n-1,就会变为n-2与n-3这两个值的相加,然后继续下去,总算是解决了这个函数递归点的真正意义,当然递归出口还是一个很重要的逻辑问题,虽然不知道工作中会不会用得多,但是我还是会继续探讨函数的递归调用,因为这个点让我产生了很多疑问与求知欲,递归还能处理怎样各式各样的问题呢?
原文:http://www.cnblogs.com/xieyaojin/p/6091670.html
php核心语法,PHP核心语法总结相关推荐
- TWiki 语法格式(TWiki语法教程及TWiki使用技巧)
TWiki 语法格式(TWiki语法教程及TWiki使用技巧) Winter 翻译 用TWiki 编辑就和平时直接写文本一样简单 -- 就像写email.如果你喜欢,你可以使用HTML代码,但是并不要 ...
- php语法介绍,PHP语法介绍
php7新特性是什么 php7新特性是什么?在PHP7中由于修改了底层引擎大部分代码,以及通过各种方式提高PHP的性能,所以在PHP7中也增加了一些新的语法,这些语法的使用也能对提高性能有帮助.下面给 ...
- python导入模块的语法结构_python学习第五讲,python基础语法之函数语法,与Import导入模块....
python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 函数,就是一个代码块,这个代码块是别人写好的.我们调用就可以. 函数也可以称为方法. 1.函数语法定义 ...
- 英语语法篇 - 英语语法综述
文章目录 简单句 英语的5种基本句型: 八大句子成分 复杂句和复合句 复杂句 从句(4 + 2) 同一类句子成分里可能有不同的词类. 十大词性(词类) 谓语动词 非谓语动词 总结 简单句 没法再拆成更 ...
- Tornado-02-Tornado、路由进阶、视图进阶(视图中内置的钩子方法、视图方法调用顺序、冲刷缓存、用户认证)、模板语法(基本语法、内置标签或函数)
Tornado 一.路由进阶 路由语法和参数 在路由列表的路由成员中,我们一共可以设置4个参数 url(r"/uri路径", 视图类, {"参数名":" ...
- 2020版北大核心期刊目录_榜单|2020武大版核心期刊RCCSE高职高专成高院校学报类自然科学综合、社会科学综合学科权威、核心及准核心期刊目录...
编者按 <中国学术期刊评价研究报告>(以下简称<RCCSE>)是邱均平教授团队创立的四大科教评价报告之一,于2009年3月正式推出第1版,后于2011年后连续推出了<RC ...
- 爬虫之xpath语法-节点修饰语法
爬虫之xpath语法-节点修饰语法 可以根据标签的属性值.下标等来获取特定的节点 1.1 节点修饰语法 [用[ ]方括号修饰标签或节点] 1.2 关于xpath的下标 在xpath中,第一个元素 ...
- 几个有趣的名词--语法糖、语法盐等
今天看<Java NIO>,里边出现"语法糖"这一名词,觉得挺有趣就问google,结果出来连带了其他几个类似名词,这里仅作整理. 语法糖 语法糖(Syntactic ...
- 【计算理论】上下文无关语法 ( 语法组成 | 规则 | 语法 | 语法示例 | 约定的简写形式 | 语法分析树 )
文章目录 I . 语法组成 II . 规则 III . 语法 IV . 语法示例 V . 语法简写形式 VI . 语法分析树 VII . 代数表达式 语法 I . 语法组成 上下文无关语法 组成 : ...
- 如何让 zend studio 10 识别 Phalcon语法并且进行语法提示
让 zend studio 10 识别 Phalcon语法并且进行语法提示 https://github.com/rogerthomas84/PhalconPHPDoc 下载解压后,把里面 phalc ...
最新文章
- P1209 [USACO1.3]修理牛棚 Barn Repair(贪心+逆向思维)难度⭐⭐⭐
- 美国诚实签经验——着装,戒指,手表装土豪,医生预约单,流水、房产和工作证明...
- python基础第六天
- STM32外设之GPIO的推挽输出和开漏输出模式详解
- 【网络安全】针对 HTTP/2 协议的HTTP Desync攻击
- Jboss4集群配置之四:启动Jboss集群
- python验证卡普耶卡(D.R.Kaprekar)6174猜想
- boost::math::tools::ulps_plot用法的测试程序
- maven 配置篇 之pom.xml
- SAP Customer Data Cloud(Gigya)登录的重定向问题
- oracle tabs作用,Oracle 中 table 函数的应用浅析
- java并发编程实战阅读总结(b)
- 《Spark GraphX in Action》书评及作者访谈
- 安装提示没有安装包docker(转载)
- linux之I2C驱动分析
- matlab的setdiff函数,matlab setdiff函数
- 同时使用SVN和Git进行版本控制
- 网站实现支付宝第三方登陆详解
- 怎么添加校园邮箱到Outlook?
- 编写类A2, 定义方法find, 实现查找某字符串数组中的元素查找,并返回索引,如果找不到,返回-1
热门文章
- Hadoop之YARN介绍
- Retrofit的网络框架介绍
- python安卓自动化实现方法_带你用 Python 实现自动化群控(入门篇)
- mysql 分区 导出_mysql普通表变成分区表导入导出
- linux服务占用的真实内存,为什么TOP看不出真实的内存占用情况?
- android prebuild第三方so库,Android NDK编译本地文件以及引用第三方so文件
- Shell else if mysql_linux shell中 if else以及大于、小于、等于逻辑表达式介绍
- Ubuntu Touch OTA-12 发布,Ubuntu 移动版本
- Visual Studio 2017中的第一个Python项目
- WASM 成为 HTML、CSS 与 JS 之后的第 4 门 Web 语言