php基础知识
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】);
执行的流程图:

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Validator can be created by adding the following two lines in the controller.

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.
