PHP课程笔记2

课时44 PHP自加(++)自减(--)运算需要注意的地方

1.  $a = false;

$b = true;

echo $a;   //结果为1

echo $b;  // 结果为空

布尔型

2.  $c = true;

$c++;

echo $c;    //结果为2

var_dump($c);   //结果还是bool   true

3.  $c = false;

$c++;

echo $c;   // 结果为空

var_dump($c);   //结果还是bool  false

4. $d = "a";

$d  = $d+1;

echo $d;   //结果为1,因为字符串为0

var_dump($d);   //结果为int

5. $d = "a";

$d++;

echo $d;   //结果为b

var_dump($d);  // 结果为string

6. $d = "z";

$d++;

echo $d;   //结果为aa,会变成两个字母继续加下去

var_dump($d);   //结果为string

7.++如果做加法运算跟 X+1 是一样的.

但如果跟布尔型和字符串型则不是.



 课时45 PHP赋值运算符

1.$a += 1;  // $a = $a + 1;

2.  $str = "拉风";

$str1  = "少年";

echo   $str .= $str1;   // 输出:拉风少年



课时46 PHP比较运算符

1.比较后的结果是一个boolean值,通常用在if和while语句中.

2.浮点型是近似数,尽量不用等号比,有些语言可以等,有些语言不可以.



课时47 PHP逻辑运算符



课时48 PHP逻辑运算符的特性(短路)

1. 特性:       短路

&&     第一个判断为假,结果为假,后面不需要判断

||     第一个判断为真,结果为真,后面不需要判断

2.

$a = 0;

$b = 0;

if($a = 3 && $b = 3){

$a++;

$b++;

}

echo $a.",".$b;

//赋值运算符的运算级是最低的

// 3&&先得到左边是真,然后$b = 3得出右边是真.所以结果为真,赋值给a. 最后结果就是a=1,b=4.

3.

$a = 0;

$b = 0;

if($a = 3 || $b = 3){

$a++;

$b++;

}

echo $a.",".$b;

// 其中直接 3 ||  得到结果为真,赋值给a

//最后结果为a为1,是因为真, b是从0加到1



课时49 PHP中的位运算符在内存中存在形式



课时50 PHP中的位运算符与&

1.var_dump(true & false) ;  //结果为int  0

var_dump(true + false);  //结果为int   1

2.var_dump("a" & "A");  //结果为 A,因为A是65,a是97

3.位运算不会短路



课时51 PHP位运算符或及其它位运算符

1. &   | 大多也是用来做判断使用,但是用的是其不会短路的原因.

2.<<  左移一次相当与乘以一次2

>> 右移一次相当于除以一次2



课时52 PHP其他运算符

1.  运算元 ?  运算元  :  运算元

条件  ?   表达式1  :   表达式2

条件成立则执行表达式1,不成立则执行表达式2



课时53 PHP运算符的优先级和表达式

1.表达式是有变量或常量和符号参与的句子.简单的就是赋值语句,复杂的就是函数.



课时55 PHP流程控制概述

1.顺序结构

2.分支结构

3.循环结构



课时56 PHP分支结构

1.单一条件分支结构(if)

2.双向条件分支结构(else从句)

3.多向条件分支结构(elseif字句,switch语句)

4.潮装条件分支结构



课时57 PHP单一条件分支结构和双向条件分支结构

1. if(bool) {

多条;

}

2.if(bool)    单条;        //但最好加{}



课时58 PHP多向条件分支结构(elseif子句)

1.

$score = 90;

if($score > 90 && $score <=100)
{
echo "fuxk A";
} else if($score > 80 && $score <= 90) {
echo "good B";

}

2. if  else 语句中,多路分支只能进去一个.



课时59 PHP多向条件分支(switch语句) 1

1. switch()括号中必须是一个变量

switch(变量) {

case 值1:

语句1;

语句N;

break;

case 值2:

语句2;

break;

case 值3:

语句3;

break;

...

}

2.在switch中放多个case语句,case 空格,后面放一个值,然后再加上冒号:

3.可以使用default在没有匹配时使用.



课时60 PHP多向条件分支(switch语句)2

1.如果在case中的语句过多,就需要将多个语句做成一个函数. 进行简单调用.

2.switch(变量)  变量的类型.只允许两种类型,整型和字符串.

3.case匹配可以匹配多个. 在最后一个底下加break

例如 case 1:

case 2:

case 3:

echo "php";

break;

4.用switch写的语句能写的,else if都能写. 反之则不行.

5.用单个值匹配时,用siwtch是最方便的.

6.else if  用于判断范围时使用最好.



课时61 PHP巢状分支结构

1.嵌套的层次尽量不要超过3层



课时62 PHP实例(简单计算器)1

1.url  get  是通过url传递参数来取值,但有大小限制

缺点:容易被获取到

2.http post

3. $_GET是一个数组.

4.$_POST也是一个数组.



课时63 PHP实例(简单计算器)2



课时64 PHP实例(简单计算器)3



课时65 PHP实例(简单计算器)4

<?php
error_reporting(E_ALL & ~E_NOTICE);

if( isset($_POST[‘sub‘]) ) {
//echo "用户是提交了";

$bz = true;

$errormess = "有以上问题:<br>";

if($_POST[‘num1‘] == "") {
$bz = false;
$errormess .= "第一个数不能为空<br>";

} else {
if(!is_numeric($_POST[‘num1‘])) {
$bz = false;
$errormess .="第一个不是数字不能计算<br>";
}
}

if($_POST[‘num2‘] == "") {
$bz = false;
$errormess .= "第二个数不能为空<br>";
}else {
if(!is_numeric($_POST[‘num2‘])) {
$bz = false;
$errormess .="第二个不是数字不能计算<br>";
}

}

if($bz) {

//这个是计算后的结果
$sum = "";

//判断用户选择的是那个运算符号
switch($_POST[‘ysf‘]) {
case ‘+‘:
$sum = $_POST[‘num1‘] + $_POST[‘num2‘];
break;
case ‘-‘:
$sum = $_POST[‘num1‘] - $_POST[‘num2‘];
break;
case ‘x‘:
$sum = $_POST[‘num1‘] * $_POST[‘num2‘];
break;
case ‘/‘:
$sum = $_POST[‘num1‘] / $_POST[‘num2‘];
break;
case ‘%‘:
$sum = $_POST[‘num1‘] % $_POST[‘num2‘];
break;

}
}

}

echo ‘<br>‘;
?>

<html>
<head>
<title>简单计算器</title>
</head>

<body>
<table border="0" width="400" align="center">
<form action="jsq.php" method="post">
<caption><h1>简单计算器</h1></caption>

<tr>
<td>
<input type="text" size="5" name="num1" value="<?php echo $_POST[‘num1‘] ?>" /> <br>
</td>

<td>
<select name="ysf">
<option <?php if($_POST[‘ysf‘]=="+") echo "selected" ?> value="+"> + </option>
<option <?php if($_POST[‘ysf‘]=="-") echo "selected" ?> value="-"> - </option>
<option <?php echo $_POST[‘ysf‘]=="x" ? "selected" : "" ?> value="x"> x </option>
<option <?php if($_POST[‘ysf‘]=="/") echo "selected" ?> value="/"> / </option>
<option <?php if($_POST[‘ysf‘]=="%") echo "selected" ?> value="%"> % </option>
</select>
</td>

<td>

<input type="text" size="5" name="num2" value="<?php echo $_POST[‘num2‘] ?>" /> <br>
</td>
<td>
<input type="submit" name="sub" value="计算">
</td>
<tr>

<tr>
<td colspan="4">

<?php
if($bz) {

echo "计算结果: {$_POST[‘num1‘]} {$_POST[‘ysf‘]} {$_POST[‘num2‘]} = {$sum}";
} else {

echo $errormess;
}

?>
</td>
</tr>
</form>
</table>
</body>
</html>



课时66 PHP循环结构的介绍



课时67 PHP循环结构while语句

1.循环一定要有一个退出的条件

2.计数循环适合用for来写

3.条件循环适合用while来写

4.在PHP中while循环占多数



课时68 PHP循环结构while的应用

1.嵌套循环



课时69 PHP循环结构do-while语句

1. do while 一定会先执行一遍.  但while 只要判断不许可就一遍都不会执行.



课时70 PHP循环结构for语句

1.for(表达式1;表达式2;表达式3){

}

表达式1赋予初始值,只执行一次

表达式2作为循环条件,条件表达式.

表达式3在循环后最后执行,自增条件

时间: 2024-12-26 15:21:23

PHP课程笔记2的相关文章

《nodejs+gulp+webpack基础实战篇》课程笔记(四)-- 实战演练

一.用gulp 构建前端页面(1)---静态构建 npm install gulp-template --save-dev 通过这个插件,我们可以像写后台模板(譬如PHP)一样写前端页面.我们首先学习一下写法. 现在我们创建一个新任务:创建一个裸的index.html文件,然后在body里面写上 ,我的年龄是:<%= age %> 下载好gulp-template,我们引用并配置 var gulp_tpl = require("gulp-template"); gp.tas

Linux操作系统及应用课程笔记 索引

第0部分  软件的安装与配置 Linux下软件的安装与配置 第1部分*   绪论 第2部分*  Linux的安装过程 第3部分   系统Shell和常用命令 Shell文件相关常用命令及参数总结 Linux下常用命令 第4部分  VI编辑器 Linux下vi编辑器的使用 <<学习vi和vim编辑器>>1 <<学习vi和vim编辑器>>2 第5部分  Shell脚本 Shell入门之脚本管理 Shell入门之测试操作 Shell入门之条件循环 Shell入门之

Andrew Ng机器学习课程笔记(五)之应用机器学习的建议

Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第五章应用机器学习的建议,主要介绍了在测试新数据出现较大误差该怎么处理,这期间讲到了数据集的分类,偏差,方差,学习曲线等概念,帮

JAVA课程笔记_1

一 课程内容 set path查看路径信息:当编译一个程序或命令时,先从当前目录查找,如果没有,按path中的路径按顺序查找,先找到后就不查找后面的路径了. 可以将目录加入环境变量,set path="复制的路径" 可以在.java程序中编写多个类,当编译时,每个类生成各自的字节码文件. 由于多个类的字节码文件不利于管理,使用bin目录下的jar命令可以将多个字节码文件打包成jar包发布给其他程序员使用. 使用方法:先在命令提示符下输入jar,会出现使用方法和实例.Jar打包两个cla

Django开发BBS---51网络课程笔记(目录)

这是51cto中bbs课程中的一个项目,这里写一下每节的目录: Django开发BBS---51网络课程笔记(1) 这部分主要介绍了数据库的搭建及站点管理 http://4440271.blog.51cto.com/4430271/1663863 Bootstrap开发 这不分主要讲前端的设计 http://4440271.blog.51cto.com/4430271/1663934 Django开发BBS---51网络课程笔记(2) 这部分主要讲view与前端的衔接部分 http://4440

跟我学《JavaScript高程3》第三讲,课程笔记

跟我学<JavaScript高程3> 第三讲:第4章 课程制作:bling,兴哥,5年Java,3年前端 课程知识:JavaScript.Html.Css 课程目标:前端体系课程,逐步深入,找到一份前端工作    课程大纲:本书目录结构 适合人群:前端初学者,可以0基础,但要认真,踏实 课程回顾 1.数据类型:5种基本类型,1中复杂类型. 2.操作符:需要注意运算优先级,算关逻条赋逗. 3.语句:if-else.for.for-in.while 4.函数:函数定义,目前的两种方法 补充:变量在

【课程笔记】需求挖掘与分析

*…* 产品定位与分析有三部分内容:需求分析.用户调研.市场分析. 下面是前两部分内容的课程笔记,整理成思维导图.

(转)妙味课堂—JavaScrip中级课程笔记

DOM基础概念.操作 DOM的概念及节点类型 childNodes children nodeType attributes 子节点和兄弟节点的操作 firstChild firstElementChild lastChild.lastElementChild nextSibling.previousSibling 父节点 parentNode offsetParent 元素位置宽高 offsetLeft.offsetTop offsetWidth.offsetHeight getPos() 操

Android网络项目课程笔记-----Volley框架

Volley 问题原因: Android4.x版本和2.x对AsyncTask的机制不同 2.x之中,同时执行5个,4.x同时只有一个 解决思路: 1) 使用Thread + Handler 注意: 使用线程池 2) 定制AsyncTask线程池 3) 开源框架Volley 1. 检查网络 2. 退出 3. 总结 有待改进 做的比较好的 商业级项目: 1) 稳定性   不要轻易FC    运行时异常 2) 用户体验:流畅(性能)/美观 3) 可扩展性 4) 可读性 5) 异常流程:提示 + 指导

Android网络项目课程笔记-----计划

目标:好用 充分:1) 角色完整 产品经理   灵魂 美工  交互设计师 开发   架构师 开发者 测试 小部分用户 2) 运营推广 基础:能用 必须: 1) API   框架 2) 模块(一个功能集合) * 3) 业务流程 4) bug 具备解决大部分中等难度bug的能力 5) 自学新技术的能力 6) 阅读代码 不合格:1) 做不了,有难度.需要很长时间 2) 只是做了,对过程负责.对结果不负责 3) 只是掌握了某个功能的基本实现方法,一旦出了bug, 解决效率很低 4) 没做过,没把握 合格