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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值