条件分支与循环结构学习
<?php // php运算符 // 1.算数运算符+ — * / %取余 取模 余数一定是一个正整数 // printf('5/3的余数是:%d<br>',(5%3)); // 计算闰年 // $year = date("Y"); // echo $year; // if($year % 4 == 0 && $year %100 !==0) // { // echo"{$year}是闰年"; // }else{ // echo"{$year}是平年"; // } //给定一个随机数,筛选出奇数成员组成新的数组返回? // $arr = [45,98,55,58,72]; // $a++ 后加 先返回$a,然后$a的值+1 // ++$a 前加 $a先加1 再返回$a // $a-- 后减 先返回$a,然后$a的值-1 // --$a 前减 $a先减1 再返回$a // $a = 100; // printf('$a++的值为%d,$a的值为%d<br>',$a++,$a); // printf('++$a的值为%d,$a的值为%d<br>',++$a,$a); // printf('$a--的值为%d,$a的值为%d<br>',$a--,$a); // printf('--$a的值为%d,$a的值为%d<br>',--$a,$a); // 字符串运算符,连接运算,返回连接之后的字符串 // $username = '小白菜'; // echo'微醺'.$username.'杨梅 '; // $table = "<h1>"; // $table .='凤梨'; // $table .="</h1>"; // echo $table; // 比较运算符 返回的是布尔类型 true false // var_dump(10<8); // // 用户名3-12个字符 // $username = 'kjhgfdi'; // if(strlen($username) < 12 && strlen($username) >3) // { // echo'用户命名合法'; // }else{ // echo'用户名需要3-12个字符'; // } // ==比较的是运算符两边的值是否相等 不比较类型 // ===要求严格相等 值与类型都要相等返回true否则返回false // if(10=='10') // { // echo'相等'; // }else{ // echo'不相等'; // } // 逻辑运算符 || && !not返回值也是布尔型 // || 或 两边的表达式只要有一个为true 返回true // && 且 两边的表达式必须全部为true返回true 否者返回false // !取反 // var_dump((10 > 9)||(5 > 9));//bool(true) // var_dump((10 > 9) && (5 > 9));//bool(false) // var_dump((10 > 9) && (10 > 9));//bool(true) // var_dump(empty($email)); // // 检测一个不为空! // if(!empty($emaail)) // { // echo'变量不为空'; // }else{ // echo'变量为空'; // } // 后端接收数据$_GET,$_POST // $username = $_GET['name']; // if(isset($username) && !empty($username)) // { // echo'用户名存在且不为空'; // } // 三元运算符(条件表达式)?条件表达式为true时所执行的代码块:条件表达式为false时所执行的代码块 // $pwd = md5('小喵喵'); // $pwd = isset($pwd) ? $pwd : 'root'; // echo $pwd; // 检测页码是否存在 // $page = isset($_GET['p']) ? $_GET['p'] : 1; // php7 null合并运算符 ??目的是为了省略isset() $page = $_GET['p']?? 1; // echo $page; ?> <input type="text" name="page" value="<?$_GET['p']?? 1?>">
<?php //PHP流程控制结构 // 单一条件分支结构 // if(条件表达式) // { #code // } // 双向条件分支结构 $age = 8; if($age > 10){ echo"小可爱你好,您已经退休".($age-10)."年了"; }else{ echo"小可爱你好,您离退休还有".(10-$age)."年了"; } // 多条件分支结构 if elseif elseif... else // 多条件分支结构switch $d = date("w");//0-6 echo $d; switch($d): case 1:echo'今天是星期一'; break; case 2:echo'今天是星期二'; break; case 3:echo'今天是星期三'; break; case 4:echo'今天是星期四'; break; case 5:echo'今天是星期五'; break; case 6:echo'今天是休息日'; break; default:echo'今天是休息日'; break; endswitch; // php模板语法:代替了{ endif endswitch endforeach代替了 } 为了更好的代码混编 ?>
<?php // 循环结构for foreach while do..while // php脚本由上往下执行 如果你想要一段代码重复多次执行 你可以选择循环 // // while循环 入口判断型循环 $cities = ['合肥','南京','苏州','上海']; // echo current($cities); // next($cities); // echo current($cities); // next($cities); // echo current($cities); // next($cities); // echo current($cities); while($city = current($cities)): echo current($cities).'<br>'; // 前移指针 next($cities); endwhile; echo current($cities); // var_dump(current($cities)); // reset($cities); // var_dump(current($cities)); echo'<hr>'; // do...while出口循环 会至少执行一次代码 然后才检查条件 $i = 0; do{ echo $cities[$i]; $i++; }while($i < count($cities)); echo '<hr>'; // for计算循环 // for(初始条件;循环条件;更新条件) // { // 满足循环条件所执行的代码块 // } for($i=0; $i<count($cities);$i++) { echo $cities[$i],'<br>'; } // break continue语句 echo '<hr>'; for($i=0; $i<count($cities);$i++) { // break提前结束循环 if($i>1)break; echo $cities[$i],'<br>'; } echo '<hr>'; for($i=0; $i<count($cities);$i++) { // continue跳过一部分元素 选择性的输出 if($i==2)continue; echo $cities[$i],'<br>'; } // foreach 循环 用于遍历数组 // foreach($array as $key => $value) // { // 处理数组成员 $value // } $cities = ['合肥','南京','苏州','上海']; foreach($cities as $city) { echo "<h2 style='color:pink'><center>$city</center></h2>"; }; $info = [['create_time'=>1234567899,'name'=>'年糕'], ['create_time'=>1234567898,'name'=>'汤圆'], ['create_time'=>1234567897,'name'=>'长安的荔枝熟了']]; foreach ($info as $k=>$v) { $info[$k]['create_time'] = date ("Y-m-d:H:m:s",$v['create_time']); } echo '<pre>'; print_r($info); ?>