学哥量化交易学习
持续学习,提高认知,磨炼技艺,从零基础学编程并跨过量化程序交易的大门。
 返回首页
 
 
0057 PHP编程语言的条件和循环语句以及函数
作者:学哥
发布时间:2018-10-3
上一节课讲的是PHP编程语言的基础语法和一些简单例子。
这节课来说明几种基本的程序逻辑以及函数的用法,包括常用的字符串函数和数组函数。

PHP条件语句 if...else...elseif
三种代码执行顺序逻辑语句:顺序执行/条件分支执行/循环执行。 条件分支语句可以根据不同的条件执行不同的代码。 if语句:如果指定条件为true,则执行代码。 if...else语句:如果条件为true,则执行代码;如果条件为false,则执行另一段代码。 if...elseif...else:根据条件选择某段代码执行。 if语句的语法: if (条件) { 条件为true时执行的代码 } 例子: $score=60; if ($score>=60){ echo "及格了"."\r\n"; } 注意:PHP的语法主要靠括号以及花括号或者分号进行分隔,因此不需要像Python那样严格的格式要求。 例如上面的代码也可以放在一行中:if ($score>=60){echo "及格了"."\r\n";} if...else语句的语法: if (条件) { 条件为true时执行的代码 } else { 条件为false时执行的代码 } 例子: $score=59; if ($score>=60) { echo "及格了"."\r\n"; } else { echo "不及格"."\r\n"; } if...elseif...else语句的语法: if (条件1) { 条件1为true时执行的代码 } elseif (条件2) { 条件2为true时执行的代码 } elseif (条件3) { 条件3为true时执行的代码 } else { 条件全部为false时执行的代码 } 例子: $score=88; if ($score>=85) { echo "优秀"."\r\n"; } else if ($score>=70) { echo "一般"."\r\n"; } else if ($score>=60) { echo "及格"."\r\n"; } else { echo "不及格"."\r\n"; } 例子代码如下: 例子运行结果:
PHP循环while语句
常用的循环语句时while循环语句和for循环语句。 while循环语句有2种: while语句:当条件为true时,循环执行语句。 do...while语句:先执行一次代码块,然后只要条件为true则循环执行。 这2种的区别在于一种是先判断再循环,一种是先执行一次再判断再循环。 do...while语句其实也可以使用while语句实现,所以不是必须的,但在某些情况下do...while语句可以精简代码。 while语句语法: while (条件) { 当条件为true时,重复执行的代码 } $c=0; while ($c<10) { $c++; echo "while循环次数:".$c."\r\n"; } do...while语句语法: $c=0; do { $c++; echo "dowhile循环次数:".$c."\r\n"; } while ($c<10) 这2种情况在初始值不同的情况下,可能结果不同。例如当初始值$c=10;的情况下就会不一样。 例子代码如下: 例子运行结果:
PHP循环for语句
for循环语句有2种: for语句:已知循环次数或情况下,循环执行。 foreach语句:适用于数组,遍历数组中的每个元素执行。 for语句语法: for (条件初始化; 条件判断; 条件变量改变) { 满足条件时循环执行的代码 } 例子: for ($c=0;$c<5;$c++) { echo "for循环次数:".$c."\r\n"; } for ($n=0;$n<20;$n=$n+2) { echo "步进2for循环次数:".$n."\r\n"; } foreach语句语法: foreach (数组变量 as 元素变量) { 遍历每个元素,循环执行的代码,每次的元素变量的值会不一样 } 例子: $colors=array("red","green","blue"); foreach ($colors as $onecolor) { echo "foreach循环:".$onecolor."\r\n"; } $ages=array("tom"=>36,"jack"=>48,"michael"=>19); foreach ($ages as $name=>$age) { echo "带键的foreach循环:name:".$name.":age:".$age."\r\n"; } 例子代码如下: 例子运行结果:
PHP循环的continue和break语句
如果需要中途忽略某种情况跳到下一个元素继续循环,可以使用continue语句。 例子: for ($c=0;$c<10;$c++) { if ($c % 2 ==1) { //奇数的时候不做处理,跳到下一次循环 continue; } echo "偶数:".$c."\r\n"; } 如果需要中途退出循环语句,可以使用break语句。 例子: $ages=array("tom"=>36,"jack"=>48,"michael"=>19,"alex"=>16); foreach($ages as $name=>$age){ if ($age<20) { echo "第一个年轻人:".$name."的年龄是".$age."岁。"."\r\n"; //退出循环 break; } echo "带键的foreach循环:name:".$name.":age:".$age."\r\n"; } 结果可以看到,break退出之后,最后一个alex没有处理了。 例子代码如下: 例子运行结果:
PHP函数
PHP有很多内置的函数,当然也可以自己创建函数。 函数就是一组代码组合起来,并可以在代码中重复使用。 函数有一个函数名,并可以设置传入的参数和返回值。 函数自己不会执行,只有被调用才会执行。 创建函数语法: function 函数名(参数1,参数2...) { 函数执行代码块 } 函数名必须时字母或者下划线开头,不能以数字开头。 函数名对大小写不敏感,例如Echo 和 ECHO是一样的。 例如: function writeInfo() { echo "hello"."\r\n"; } function writeMyName($name) { echo "name is ".$name."\r\n"; } 调用函数: writeInfo(); $myname="michael"; writeMyName($myname); 函数有返回值例子: function add($a,$b) { return $a+$b; } 调用函数: $x=3; $y=6; echo add($x,$y)."\r\n"; 例子代码如下: 例子运行结果:
PHP常用字符串函数
字符串是常用的数据类型,系统内置了很多字符串函数,下面介绍一些常用的字符串函数。 trim:移除字符串两侧的空白字符。 strlen:返回字符串的长度。 explode:把字符串打散为数组。 implode:返回由数组元素组合成的字符串 substr:返回字符串的一部分。 其它函数,大家可以自行搜索PHP手册进行自学。 例子: $str1=" hello world "; echo "trim结果:".trim($str1)."\r\n"; $str2="this is a new world."; echo "strlen结果:".strlen($str2)."\r\n"; $ret=explode(" ",$str2); echo "explode结果:"."\r\n"; var_dump($ret); $ret2=implode(",",$ret); echo "impolde结果:".$ret2."\r\n"; echo "substr结果:".substr($str2,2,4)."\r\n"; 例子代码如下: 例子运行结果:
PHP常用数组函数
数组是最常用的数据类型,系统内置了很多数组函数,下面介绍常用的及格函数,更多的函数情查看PHP手册。 array:新建一个数组。 count:返回数组的元素总个数。 array_keys:返回数组的所有键名。 array_key_exists:判断键名是否存在于数组中。 array_values:返回数组中所有的元素值。 sort:对数组进行排序。 例子: $colors=array("red","green","blue"); echo "count结果:".count($colors)."\r\n"; echo "array_keys结果:"."\r\n"; var_dump(array_keys($colors)); $ages=array("tom"=>36,"jack"=>48,"michael"=>19); echo "array_keys结果:"."\r\n"; var_dump(array_keys($ages)); echo "array_key_exists结果:"."\r\n"; var_dump(array_key_exists("jack",$ages)); echo "array_key_exists结果:"."\r\n"; var_dump(array_key_exists(5,$colors)); echo "array_values结果:"."\r\n"; var_dump(array_values($colors)); echo "array_values结果:"."\r\n"; var_dump(array_values($ages)); sort($colors); echo "sort结果:"."\r\n"; var_dump($colors); sort($ages); echo "sort结果:"."\r\n"; var_dump($ages); 例子代码如下: 例子运行结果:
学哥量化交易学习团队
   致力于:持续学习,提高认知,磨炼技艺,持续输出高质量的教程和课程,帮助更多的人从零基础学编程并跨过量化程序交易的大门。
零基础学编程Python入门课程
课程包含以下内容:
1.图文教程《零基础学编程入门-从Python到Web网站.pdf》,学哥原创版权,共计1024页高清图文教程。
2.视频课程《零基础学编程Python入门》,学哥原创版权,共计24节课45个高清视频。
3.视频教程《玩转魔方》,学哥原创版权,可以送给孩子,共计16个高清视频。
4.图文教程《如何寻找编程相关的电子书下载资源.pdf》。
5.加入学哥编程学习辅导QQ群在线交流。

客服 10:00-17:00
QQ: 44556287
微信公众号
学哥量化交易学习
 
  微信公众号:学哥量化交易学习     QQ群1:603559164    客服QQ号:44556287
工信部备案/许可证编号:沪ICP备15050545号-4