递归之课中练习(1)
递归概念之计算1到n的和。
<?php /**** 唯有牺牲多壮志, 敢叫日月换新天。 ****/ function sum($n){ if ($n==1) { //‘=’、‘==’及‘===’的区别 return 1; } return $n + sum($n-1); } echo sum(100);//5050 ?>
TIPS:
1、类似于高中函数的概念==〉自我理解。
2、关于问题:
‘=’、‘==’及‘===’的区别
= 相当于赋值运算;
== 只比较他们的值
而=== 会比较两个变量的类型
3、顺带记录单引号与双引号的区别。
从以下三个方面区别:
(1)转义。
单引号:加‘\’时未进行转义。
如
<?php /**** 唯有牺牲多壮志, 敢叫日月换新天。 ****/ $i='\''; echo $i,'<br />';// ' $i='\\'; echo $i,'<br />';// \ $i='\\\''; echo $i,'<br />';// \\' ?>
双引号:\n---换行,\t---制表符。即可转义的字符较多。
(2)双引号内的变量可解析,单引号则直接输出。
如
<?php $age=29; $str1 = '李明今年 $age 岁'; $str2 = "李明今年 $age 岁"; echo $str1,'<br />',$str2,'<br />'; //李明今年 $age 岁 //李明今年 29 岁 ?>
(3)单引号不需分析字符串内是否有变量,且需转义的内容少,故速度较之双引号快。===〉优先使用单引号。