1. php运行过程时序图 目录 htdocs 目录 下一个文件夹,该文件夹中包含各种 web 资源 (html/php/css/js/ 图片 / 视频 ...) apache 和 php 在网络中的位置 使用 uml 图,描述了请求 php 文件的整个流程 . 2 php 的基本语法介绍 2.1php 可以和 html 代码混合
1. php运行过程时序图
目录 htdocs 目录下一个文件夹,该文件夹中包含各种web资源(html/php/css/js/图片/视频...)
apache和php在网络中的位置
使用uml图,描述了请求php文件的整个流程
.
2 php的基本语法介绍
2.1 php 可以和html代码混合但是一定要使用
//php代码
?>
可以在php中嵌入html代码
echo"hello,world";
//写一部分html代码
?>
hello
?>
2. 还可以使用如下方法嵌入 php 代码(脚本)
echo "
测试一下吧!";
?这个推荐
3. 如果只是为了显示一个变量的值
=变量?>
举例
=$i?>
4. php代码注释的方法有
4.1 注释多行
/*
*/
/*echo"
aaaa";
echo "
aaaa";
echo "
aaaa";
echo "
aaaa";
echo "
aaaa"; */
4.2 单行注释
//
php的基本语法加强
Parse : 解析
error :错误
syntax : 语法
① php 可以和html 混合使用
② php 的变量的定义使用
//php中,定义一个变量要以$符号打头
$a=890;//我定义了一个变量,该变量名叫$a , 然后给该变量赋了一个值890
③ php 的变量的数据类型,是变化的,php变量的数据类型是由运行时的上下文决定
④ php区分大小写
$i =89;
$I=90;
$abc=90;
$Abc=900;
⑤ php 的变量的名称,应当以字母或者下划线开头,不要用数字开头,也不要用特殊字符开头.
$3abc=89;
php 数据类型有哪些?
有三大类
1. 基本数据类型
1.1 整型
1.2 小数型(浮动数)包含单精度和双精度
1.3 布尔类型 (表示真,和假)
1.4 字符串
2. 复合数据类型
2.1 数组(array)
2.2 对象 (object)
3. 特殊数据类型
3.1 null
3.2 资源类型(resource)
整型细节说明
基本数据类型的入门案例:
■整型
整数类型可以表示一个整数,比如:
$ts=1; $ts=-12;
■布尔类型
布尔型可以表示真或者假,比如:
$ts=true; $ts=false;
■小数类型
小数类型可以表示一个小数(float,double)
$ts=1.12 $ts=3.1415926
■字符串类型
字符串类型可以表示一个字符串
$ts=“我是一个好人 hello”
基本概念:
何为定义一个变量
$a=90; //相当于我们定义了一个变量 $a,并赋值90
?>
什么叫给变量赋值
$a=78;
$a=8; //表示用新的值替代 78
$a=”hello”; //表示$a 的类型变化.
?>
整型的细节讨论
①在php中一个整型数据可以用十进制,也可以用八进制和十六进制
比如:
$a =0123; // 八进制数(是以0开头)
$a =0x1A; // 十六进制数
0123 =3*8的0次方 + 2*8的1次方+ 1*8的二次方
=3*1+2*8+1*64=83
0x1A=A*16的0次方 +1*16的一次方=10+16=26
$a=123=3*10的0次方+2*10的1此方+1*10的二次方=3+20+100=123
② php的整数都是有符号数.
通过该图,我们可以看出,php的整数的二进制的最高位表示符号
③通过 PHP_INT_SIZE
可以显示我们自己的机器,一个整数用几个字节表示
echoPHP_INT_SIZE;
通过PHP_INT_MAX 可以显示int 最大的数有多少
echoPHP_INT_MAX;
请问? 为什么 PHP_INT_MAX是 2147483647
我们一起推一下
请问? php 的int 型,负数最大表示多少?
负数和正数一样大
2的31次方减一
④如果一个整数的范围超过了最大范围,则自动变成float
布尔细节浮点数细节字符串细节算术运算符①\
学生的问题?
$a=2; 问在内存中 2是怎样存在的
00000000 00000000 00000000 00000010 -> 0*2的0次方+1*2的一次方+..0=0+2=2
$a=-2 问在内存中形式
布尔类型
简单的说布尔类型就两个值 true, 一个false;
举例:
//布尔类型
$a=true;
$b=false;
布尔值 FALSE 自身
整型值 0 (零)
浮点型值 0.0 (零)
空字符串, 以及字符串"0"
不包括任何元素的数组
不包括任何成员变量的对象(仅PHP
4.0 适用)
特殊类型NULL (包括尚未设定的变量)
$conn=mysql_connect(“localhost”,”root”,”root”);
if($conn){
echo ‘ok’;
}else{
echo ‘没有ok’;
}
浮点数的细节
1.浮点数(也叫双精度数或实数)
2.浮点数的字长和平台相关,通常最大值是 1.8e308 并具有 14 位十进制数字的精度 (这个限制很重要)
?精度要从左边开始的第一个非0的数字计算.
字符串的细节
$a=”hello”;
请问 $a 占用了多个是字节 5个字节
一个字符串类型可以表示多大的串?
①理论上,我们对字符串大小没有限制,即只有不超过内存就可.
②我们定义字符串的时候,可以用单引号,也可以使用双引号
区别如下:
$i=90;
$user1="hello$i";
$user2='hello$i';
echo '
user1='.$user1;
echo '
user2='.$user2;
从上面案例我们看出, 当一个变量包含在 “”号中时,会输出它的值,而包含在’’ 中是输出其字符本身.
案例2
如果字符串是包围在单引号(‘)中, 除了来处理
\” 时,会输出 \” 外,其它规则都一样
php数据类型的自动转换
php的表达式
所谓表达式,就是任何有值的东西.
$a=90+89;
php的算术运算符
+ 、 -、*、 / 、%
算术运算符②比较运算符逻辑运算符
php的算术运算符
+ 、 -、*、 / 、%
$a=90;
$b=7;
if($a%$b==0){
echo '能整除';
}else{
echo '不能整除!';
}
++ 和 – 快速入门:
$a=90;
$a++; //等价于$a=$a+1;
echo $a;
$b=89;
$b--; //等价于$b=$b-1;
echo '
'.$b;
细节我们的++和– 分为前++ 后++ , --也分为前-- 和后- -
$a=56;
$b=$a++;
echo$b;
echo$a;
对上面代码的分析如下:
$a=56;
//$b=$a++; //等价于 $b=$a;$a=$a+1;
$b=++$a; //等价于$a=$a+1; $b=$a;
echo $b."||"; //-->$b 57
echo $a; //-->$a 57
左加
+=
左减
-=
左乘
*=
左除
/=
左取模
%=
$a=90;
$a-=90;//$a=$a-90;
echo$a;
比较运算符
案例:
$a=2;
$b=2.0
//只有值相等就为true
if($a==$b){
echo ‘$a==$b’;
}
//全等,要求$a 和 $b 值和类型要相等
if($a== =$b){
}
对 != != = 说明
//只有值不相等,则为true
if($a!=$b){
echo '$a!=$b';
}
//只要值不相等,或者类型不相等,则为true
if($a!==$b){
echo '$a!==$b';
}
请编写一个程序,该程序可以接收两个数(可以是整数,也可是小
数),并判断两个数是大于?小于?还是等于?
对应的案例:
$a=123;
$b=90;
if($a>$b){
echo '$a>$b';
}
if($a
{
echo '$a
}
if($a==$b){
echo '$a==$b';
}
?>
逻辑运算符
要求大家掌握的知识点有:
搞清每个逻辑运算的规则
案例
$a=10;$b=7;
if($a++>8 || $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;
//把结果填写
$a=10;$b=7;
if($a++>10 && $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;
$a=10;$b=7;
if($a++>18 && $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;
?面试题: and &&都表示逻辑与,他们的区别在什么地方
主要体现在优先级上面
and 的优先级
and
or
配合案例:
$e =false || true;
$f =false or true;
var_dump($e,$f);
$e 是 true
$f 是false;.....
php基本语法-三元运算符
基本语法
表达式1 ? 表达式2 : 表达式3
规则:
如果表达式1 的运算结果是 true, 则取表达式2 的值,否则,取表达式3的值.
举例:
$a=90;
$b=180;
$c=$a>$b?(12-10):"hello,world";
echo 'c=='.$c;
?>
php 的字符串运算符
案例:
$a="hello,world";
$b=123;
$c=$b.$a; //$a 具体表示内容和 $b 表示内容拼接
echo $c;
从上面案例我们看出,当两个变量(基本数据类型) 用 . 连接的时候,就表示把他们的内容拼接
类型运算符(了解)
基本语法是: instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例,通常在面向对象开发中可能用的.
class Dog{}
class Cat{}
//创建一个对象
$cat1=new Cat;
//var_dump($cat1 instanceofDog);
//在实际开发中,我们可能需要去判断某个变量是否是某个类型
if($cat1 instanceof Cat){
echo '$cat1 是一只猫';
}
运算符优先级的说明:
//****运算优先级*****
?如果将来你们有一个表达式很复杂,建议使用() 来指定其运算优先级
$a=3;
$b=++$a*3;
echo $b;
php程序的三大流程控制
① 顺序控制(从上到下,从左到右)
$a=7;
echo “a=”.a;
echo “hello!”;
$a++;
echo “a=”.a;
echo “O(∩_∩)O”;
$a++;
echo “a=”+a;
所谓顺序控制流程,就是不加控制的流程,默认情况,会按照,顺序来执行你编写的代码
② 分支控制
一个简单的定义: 有选择的来执行我们的代码.
分为 1. 单分支 2. 双分支 3 多分支
1. 单分支的基本语法结构
if(条件表达式){
语句;
//...
//....
}
这里我们,这里的条件表达式不管多复杂,最总运算的结果就是 true 或者 false;
快速入门:
编写一个程序,可以输入人的年龄,如果该同志
的年龄大于18岁,则输出 “你年龄大于18,要对
自己的行为负责!”
$age=7;
if($age>18){
echo '你的年龄大于18';
}
2. 双分支
基本语法结构
if(条件表达式){
//n多语句;
}else{
//n多语句;
}
编写一个程序,可以输入人的年龄,如果该同志
的年龄大于18岁,则输出 “你年龄大于18,要对
自己的行为负责!”。否则 ,输出”你的年龄不大
这次放过你了.”
代码:
$age=4;
if($age>18){
echo '你的年龄大于18';
}else{
echo '你的年龄小于18';
}
echo '
程序结束!';
3. 多重分支
基本语法结构是
if(条件表达式){
//n多语句
}else if(条件表达式){
//n 多语句
}else if(条件表示式){
//.
}//这里可能还有更多的else if
else{
}
?对上面的结构请注意:
(1) else if 可以有一个,也可以有多个
(2) else 可以没有
快速入门案例:
编写一个程序,可以输入人的年龄,如果该同志
的年龄大于18岁,则输出 “你年龄大于18,要对
自己的行为负责,送入监狱”。如果该同志的年
龄大于10岁并且小于等于18,则输出 “你的年龄
也不小了,把你送少管所.”。其它情况,则输出
“小孩子,下次注意”。
代码如下:
$age=34;【1】
if($age>18【2】){
echo'你要被送入监狱';【3】
}elseif($age>10 【4】&& $age【5】){
echo'送入少管所';【6】
}else{
echo'下次注意';【7】
}
echo"over";【8】
流程分析图:
switch分支语句
基本语法结构
switch(表达式){
case 常量1:
//n多语句;
break;
case 常量2:
//n多语句
break;
defual:
//n多语句;
break;
}
?请注意:
1. case 语句有一到多
2. defaul 语句可以没有(根据自己代码的业务逻辑)
3. 通常,在case 语句后,要带break ,表示退出switch语句
4. 常量的类型 (int, float, 字符串, 布尔型)
快速入门案例:
请编写一个程序,该程序
可以接收一个字符,比如
:a,b,c,d,e,f,g
a表示星期一,b表示星期
二 … 根据用户的输入显
示相依的信息.要求使用
switch 语句完成
$myChar="b";
switch($myChar){
case "a":
echo '今天星期一,猴子穿新衣';
break;
case "b":
echo '今天星期二,猴子当小二';
break;
case "c":
echo '今天星期三,猴子爬雪山';
break;
default:
echo '没有匹配的日期';
}
echo 'okokook';
一个案例:
$i=11;
switch ($i){
case 10:
echo '10';
case 1.3:
echo '11';
break;
default:
echo 'hello';
//break;
case 11:
echo '12';
break;
}
该案例得出一个结论:
//最终的结论是:
首先按照case顺序进行配置,如果一个都没有匹配到,则执行
//default语句的内容,直到遇到break,则退出switch
42讲 循环控制①(for)
学生的问题: 老师,说一下if语句和switch的区别,及应用场景。
回答:从我们学习if 和switch 分支看,if对某个范围的判断,而switch是对一个点的判断, 所以我们可以这样去选择他们:
应用场景: 当我们的分支就是几个点的时候(比如判断坦克的方向),就应当使用swtich,如果你的分支是几个区域(范围)的判断,则考虑使用if
① 循环控制流程
首先说 for 循环控制
基本语法结构
for(循环初值;循环的条件;步长){
//n多语句;
}
为什么需要循环控制 ?
问题:请输出9000000句,”你好,北京”
这样一问题:怎样让我们的某段代码,循环的执行
分析图
for($i=0;$i
echo '
你好,北京';
}
echo "over";
内存图:
43讲 循环控制②(while dowhile) 打印金字塔案例
更新时间:2012年11月20日11时54分来源:
while循环
基本语法结构是
while(循环条件){
//循环体 ,语句
}
案例: 使用while来打印 10句”你好北京 ”
代码:
//*****while循环*****
$i=0;//$i循环控制变量
while($i
echo '
你好北京'.$i;
//这里我们对循环控制变量,自增.
$i++;
}
流程分析图:
do..while循环控制
基本语法结构
do{
//循环体
}while(循环条件);
快速入门: 循环的显示 10句,”你好北京”;
$i=0;【1】//循环控制变量
do{
echo'
dowhile你好北京'.$i;【2】
//对循环控制变量修改
$i++;【3】//这里有程序员自己控制步长.
}while($i【4】);
执行的流程图:

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
