PHP学习笔记(才贯二酉)

简介: PHP学习笔记(才贯二酉)

前言


上一篇文章 PHP学习笔记(一往无前)

欢迎来到PHP学习的第二篇文章(才贯二酉):不断学习积累,今日之我胜昨日之我。接下来的PHP文章会不断更新相关学习笔记,期待和各位共同学习、交流!


6a48175d82e34f18a21d3856422539d6.png

判断语句


当编写代码时,我们需要为不同的判断执行不同的动作。这时就可以在代码中使用条件语句来完成此任务。在 PHP 中,提供了下列条件语句:

if 语句 - 在条件成立时执行代码

if…else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码

if…else if…else 语句 - 在若干条件之一成立时执行一个代码块

switch 语句 - 在若干条件之一成立时执行一个代码块


if语句


//语法:
if (条件)
{
    条件成立时要执行的代码;
}


if 语句的单项条件:

2dc7acefbaf045bf84ffeb88951bf0fa.png

如果if后面的表达式判断为true,就会执行if后的语句1;如果判断为false,就会绕过语句1,执行后面的语句。


案例


//当前分钟大于或等于30时,返回hello world。
$time=date("i");
if($time>=30){
echo "hello world";
}


if…else语句


//语法
if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
} 


案例


//如果分钟大于等于30就返回hello world;反之返回你好,世界
$time=date("i");
if($time>=30){
echo "hello world";
}else {
echo "你好,世界";
}


案例


//if else 语句的嵌套
<form action="if3.php" method="post"> 
        <h3>请选择今天的天气</h3>
        <select name="select" size="1">
        <option selected value="sunny">sunny</option>
        <option value="rain">rain</option>
        <option value="cloudy">cloudy</option>
        <option value="foggy">foggy</option>
        <input type="submit" >
</form>


$select=isset($_POST['select'])?$_POST['select']:"";//进行post传参
if ($select=="sunny"){
echo "可以出去玩!";
}else{
  if($select=="rain"){
    echo "外面下雨了";
  }else if($select=="cloudy"){
    echo "外面刮风了";
  }else{
    echo "外面起雾了";
  }
  }


db0e0e0561ff4e228b4ff59672c5a9a0.png

补充:三元运算符

三元运算符的功能与“if…else”流程语句一致,它在一行中书写,适当的运用三元运算符会使我们的代码更加精练、执行效率更高。

三元运算符语法:条件 ? 结果1 : 结果2 说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2。


$a = 10;
$b = 7;
$a % 2 == 0 ? print '$a 是偶数!<br>' : '';//输出 $a 是偶数!
$b % 2 == 0 ? '' : print '$b 是奇数!';//输出 $b 是奇数!
echo "<br>";


三元运算符可以扩展使用,当设置的条件成立或不成立,执行语句可以不止一句:

(expr1) ? (expr2).(expr3) : (expr4).(expr5);


$a = 10;
$b = 6;
$c = 12;
$x = $a>$b ? ($a<$c ? $c-$a : $a-$c) : ($b<$c ? $c-$b : $b-$c);
echo 'x的值是:'.$x;
//输出 x的值是:2


if…else if…else语句


//语法
if (条件)
{
    if 条件成立时执行的代码;
}
else if (条件)
{
    else if 条件成立时执行的代码;
}
else
{
    条件不成立时执行的代码;
}


案例


55f4a8dd174a434a8deba8aa3f9b1bd4.png


html页面:


<form action="scoredo.php" method="post" >
        <h3>成绩测试器</h3>
        <!-- 。placeholder可以用来描述输入字段预期值的简短的提示信息。 -->
        <input type="text" name="score1" placeholder="请输入成绩">
        <button type="submit" value="查询">提交
    </form>


php页面:


<?php
$score1=isset($_POST['score1'])?$_POST['score1']:"";
if(!is_numeric($score1)){
    echo "请输入正确成绩类型";
}else{
    if($score1<0||$score1>100){
        echo "错误成绩";
    }else if($score1>=90){
        echo "您的成绩为优秀";
    }else if($score1>=70){
        echo "您的成绩为良好";
    }else if($score1>=60){
        echo "您的成绩为及格";
    }else{
        echo "您的成绩不合格";
    }
}
?>


效果:


ae61aa3143684d598ac81f7cdb9727ae.png

注意事项:

当条件过多时,可以采用符合if形式;

如果条件比较单一,就可以采用elseif的符合方式;

当条件不一致时可以采用if else嵌套语法,如果条件过多就不建议使用嵌套语法,会影响代码的美观性,建议使用接下来的switch…break…语句


switch…break…语句


//语法
switch (n)
{
case term1:
    如果 n=term1,此处代码将执行;
    break;//执行结束
case term2:
    如果 n=term2,此处代码将执行;
    break;
default:
    如果 n 既不等于 term1 也不等于 term2,此处代码将执行;
}


首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。


案例


//根据用户输入放入的数字来判断显示类型
<?php
$i=2;
switch($i){
    case 1:echo "<input type='text' value='{$i}'>";
    break;
    case 2:echo "<input type='button' value='{$i}'>";
    break;
    case 3:echo "<input type='checkbox'>";
    break;
    case 4:echo "<input type='redio'>";
    break;
    default:echo "错误";
}
//i=2,输出一个按钮
?>


案例


根据用户指定的运算,计算结果


<!-- placeholder可以用来描述输入字段预期值的简短的提示信息 -->
    <form method="post" action="switchcomputer.php">
        <input type="text" name="num1" placeholder="num1">
        <select name="op" id="">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select>
        <input type="text" name="num2" placeholder="num2">
        <input type="submit" value="计算">
    </form>


$num1=$_POST['num1'];
$op=isset($_POST['op'])?$_POST['op']:"";//判断op是否被设置,如果设置就是op,没有被设置就是空
$num2=$_POST['num2'];
switch($op){
    case "+":$result=$num1+$num2;
    echo $result;
    break;
    case "-":$result=$num1-$num2;
    echo $result;
    break;
    case "*":$result=$num1*$num2;
    echo $result;
    break;
    //除数不能是0,如果是0就返回错误
    case "/":if($num2!=0) 
    {
        $result=$num1/$num2;
        echo $result;
        break;
    }else{
        echo "错误";
    }
}


效果:


a54ee767d3f64630ab586ddf0f2bb3d4.png


简单总结:

if语句可以做所有的分支结构

switch语句用于处理条件比较多、单一,并且固定值匹配的分支结构


循环语句


PHP中的循环语句

1、for循环,语法“for(初始值;条件;增加值){循环体}”;

2、do while循环,语法“do{循环体}while(条件)”;

3、while循环,语法“while(条件){循环体}”;

4、foreach循环。


for循环


//语法
for(初始化计数初值;判断条件;增加计数值){
循环体;
}
//当for循环语句中的循环条件没有时,会造成死循环,要避免这种情况出现


案例


for($i=1; $i<=10 ;$i++){
 if($i==5)break;//表示打破,输出1 2 3 4 5 
// if($i==5)continue;//表示继续,输出1,2,3,4,5,6,7,8,9,10
echo $i."<br>";
}

案例


//打印一个等腰三角形
$n=4;
for($i=0;$i<$n;$i++){
    for($j=1;$j<($n-$i);$j++){
        echo "&nbsp";//第一行是三个空格一个 *
    }
    for($k=0;$k<(2*$i+1);$k++){
        echo "*";
    }
    echo "<br>";
}
//输出:
   *
  ***
 *****
*******


案例


// 九九乘法表
echo "<table border=1px>";
for($i=1; $i<=9;$i++){
    echo "<tr>";
    for($j=1;$j<=$i;$j++){
        echo "<td>"."{$i}".'*'."{$j}".'='.$i*$j."</td>";
    }
    for($k=0;$k<=(9-$j);$k++){
        echo "<td></td>";
    }
    echo "<tr>";
}
echo "</table>";


效果:


12c24b6c41e54d7595590351ba5cee4a.png

while循环


//语法
while(判断条件){
循环体;
}
//while循环先进行循环条件的判断,后进行循环;如果条件不满足,就跳出循环


案例


当条件已知(通常是有规律的数据),我们可以采用for循环;

如果条件不固定,需要采用条件判定,此时我们可以采用while循环,while循环是比较灵活的循环语句


do while循环


//语法
do{
循环体;
}while(判断条件);
//do while 循环先进入循环,再进行条件的饿判断;因此至少会进行一次循环


案例


//打印出1-10的奇数和偶数
$i=1;
do{
    if($i % 2 ==0){
      echo $i."是偶数 "." ";
    }else{
      echo  $i."是奇数 "."  ";
    }
    //i进行自加
    $i++;
}while($i<=10);


53843b67c831491ba12bf0f6e1349aae.png


foreach循环


//语法
foreach($array as $value){
执行代码;
}
或者是;
foreach($array as $key => $value ){
执行代码;
}
//$key  数组键名   $value  数组键值
//foreach循环属于数组的遍历循环,每进行一次循环,当前的值就会赋给变量$value,并且数组指针是逐一移动的,直到最后一个数组元素


案例


//一维数组的遍历
$stu1=array(
    '1001'=> '小明',
    '1002'=> '小红',
    '1003'=> '晓东'
);
foreach($stu1 as $key=>$value){
    echo $key.$value."<br>";
}
//输出
1001小明
1002小红
1003晓东


案例


//二维数组的遍历
$stu2=array(
    "人事部"=>array('a','b','c'),
    "研发部"=>array('d','e','f'),
);
//打印出人事部有abc,研发部有def;
foreach($stu2 as $key=>$value){
    echo $key.":";
foreach($value as $keyin=>$valuein){
    echo $valuein." ";
}
echo "<br>";
}
//输出
人事部:a b c
研发部:d e f


案例


//将一个二维数组遍历到表格
$arr1=array(
    array('name'=>'lili','sex'=>'famale','age'=>12),
    array('name'=>'tom','sex'=>'male','age'=>15),
    array('name'=>'join','sex'=>'famale','age'=>10)
);
echo" <table border='1'>";
echo "<tr><th>id</th><th>name</th><th>sex</th><th>age</th></tr>";
foreach($arr1 as $key=>$value){
    echo "<tr>";
    echo "<td>$key</td>";
foreach($value as $keyin=>$valuein){
    echo "<td>$valuein</td>";
}
    echo "</tr>";
}
echo "</table>";
echo "<br>";

736c85f2dc8249b49764ce76b3282161.png


以上就是对php中的判断语句和流程语句的简单总结了,接下来的文章还会继续更新学习笔记,期待和大家的交流!


7113f0a85f564581b0c5b92208498b4c.png


如有不足,感谢指出!

相关文章
|
8天前
|
存储 Java 数据库连接
php学习笔记-代码基本语法-day01
本文是关于PHP编程语言的基础语法学习笔记,内容包括PHP的介绍、注释风格、数据类型、命名规范、常量和变量的使用,以及变量和常量相关的常用函数。文中详细解释了PHP的基本语法元素和一些易混淆的概念,如传值赋值与传址赋值、可变变量,以及如何检查变量是否已定义或为空。
php学习笔记-代码基本语法-day01
|
8天前
|
JavaScript 前端开发 安全
php学习笔记-普通表单参数提交获取及页面的重定向和一个登录小demo-day05
本文介绍了PHP中普通表单参数的提交获取、页面重定向的方法,并通过一个登录示例演示了表单参数的封装和页面跳转处理。
|
8天前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
8天前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
8天前
|
JavaScript Java PHP
php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
本文是第二天的PHP学习笔记,涵盖了PHP中运算符的使用、类型转换方式,以及打印输出语句的特点,展示了其相较于其他编程语言的一些特殊之处。
php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
|
8天前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
8天前
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
8天前
|
JavaScript 程序员 PHP
php学习笔记-php自定义函数-day05
本文介绍了PHP自定义函数的创建、调用、参数赋值以及作用域和生命周期,还探讨了`global`和`static`关键字的使用,以及`return`、`exit`和`die`的不同用法。
|
8天前
|
XML SQL PHP
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。
|
安全 关系型数据库 MySQL
某教程学习笔记(一):17、php漏洞
某教程学习笔记(一):17、php漏洞
93 0
某教程学习笔记(一):17、php漏洞