php基础教程之学习笔记1
1.1 回顾
1、 静态网站和动态网站
a) 不支持数据交互的网站(.html htm)
i. 优点:速度快,最安全
ii. 缺点:更改不方便,
b) 支持数据交互的网站
i. 优点:更改方便
ii. 缺点:效率和安全性都没有静态网站高
iii. 实现动态网站的技术
1. Asp.asp
2. Php.php
3. .net.aspx
4. Java.jsp
2、 客户端和服务器端
a) 客户端:浏览器使用的计算机
b) 服务器端:存放网站代码的机器。
3、 端口和端口号
a) 端口就是服务运行的入口,就类似于大楼的门
b) 端口号:门的门牌号 0-65535
4、 BS和CS架构
a) Bs:通过浏览器访问服务器
b) CS:通过客户端访问服务器
5、 前台和后台
a) 前台:浏览器看到到界面
b) 后台:管理员操作的界面
6、 站点、虚拟目录、虚拟主机
a) 站点:存放网站内容的文件夹
b) 虚拟目录:有权限的文件夹
c) 虚拟主机:有权限的文件夹+域名+端口+其他一些配置
7、 Apache的安装
a) Apache的默认端口 80
b) 在地址栏中输入http://localhost 显示it works表示正常
c) Apache的配置文件夹是 conf文件夹
d) Apache的配置文件 conf/httpd.conf
e) Htdocs是默认虚拟目录
8、 PHP安装
a) Php的配置文件php.ini
b) 在虚拟目录中新建PHP测试文件。
9、 Mysql的安装
a) MySQL默认端口是3306
10、 程序的卸载
a) 控制面板——程序——选择程序——卸载
11、 LAMP和WAMP
a) LAMP:linux+apache+Mysql+php
b) WAMP:windows+apache+mysql+php
12、 更改虚拟目录
a) DocumentRoot用来更改虚拟目录
b) 要注意更改文件夹的权限
13、 更改首页
a) DirectoryIndex
14、 更改监听端口
a) Linsten
15、 DNS解析
a) DNS:运行解析系统,浏览器输入域名,先到最近的DNS服务器上解析出域名对应的IP地址,然后通过IP地址去访问服务器。
b) 最近的DNS就在本地,位置:C:\Windows\System32\drivers\etc\host
16、 虚拟主机的配置
a) 开启虚拟主机Include conf/extra/httpd-vhosts.conf
b) 在httpd-vhosts.conf文件中去做相应的配置
1.3 PHP简介
PHP: Hypertext Preprocessor,中文名:“超文本预处理器”) 是一种通用开源脚本语言,PHP运行在服务器端。
1.4 PHP四种定界符
1.4.1 标准风格(推荐使用)
<?php
//PHP代码
?>
1.4.2 短标记风格
默认是不支持短标记风格,要在PHP的配置文件中(php.ini)中开启支持短标记,重启服务器
<?
//短标记风格
echo '锄禾日当午';
?>
1.4.3 asp风格
默认是不支持asp风格定界符,要在php.ini中开启。重启服务器
1.4.4 Script标记风格
<script language="php">
echo '锄禾日当午';
</script>
PHP支持省略结束标记,PHP定界符开始的地方一直到最后全部都是PHP代码的情况可以省略PHP结束符。
1.5 PHP语法的特点:
1、 php语句以分号结尾。
2、 PHP的关键字不区分大小写,变量名是区分大小写。
1.6 变量
变量是计算机内存中的一段空间。
1.6.1 变量的命令规则
必须以$开头,$不是变量名的组成部分,仅仅表示PHP变量名从这里开始。
除了$以外,字母、下划线开头,后面跟的是字母、数字、下划线。
下列变量名合法的是:
$a1合法
$1a不合法
$_1a合法
$a-1不合法
$a%不合法
1.6.2 变量的赋值
用=来做赋值运算
变量可以传值也可以传地址
&是获取值的地址
1.6.3 销毁变量
通过unset()来销毁变量。unset()销毁的是变量名。值是由PHP的垃圾回收机制销毁。
1.6.4 可变变量
$b保存的是变量名a,所以$$b就是$a, 最后输出$a的值。
1.7 常量
当一个值在脚本执行周期内不发生变化,就可以将值声明成常量.
用define()关键字
语法:
Define(常量名,值,是否区别大小写)
常量名不能有$开头
默认情况下,常量名是区分大小写,可以通过define的第三个参数来设置是否区分大小写
True:不区分 FALSE :区分。
常量不能重复定义。
在定义常量的时候先判断一下当前常量是否被定义,defined()函数判断
1.8 PHP执行原理
客户端向服务器发送一个请求,如果请求的是一个HTML页面,服务器直接将HTML页面发送到客户端给浏览器解析,如果请求的是PHP页面,则服务器会运行PHP页面然后生成标准的HTML,将生成的HTML代码发送到客户端。
1.9 变量的数据类型
1.9.1 标量类型
类型 |
描述 |
整数型 |
范围 -231~231-1 |
浮点数 |
存放整数和小数 |
布尔型 |
True和FALSE |
字符串型 |
双引号字符串和单引号字符串 |
1.9.2 复合类型
类型 |
描述 |
数组 |
array |
对象 |
object(以后再学) |
1.9.3 特殊类型
资源:PHP 的外部数据成为资源类型。
NULL:没有
1.10 字符串
单引号字符串是真正的字符串,双引号字符串要将变量给替换。因为单引号字符串不需要运算,所以单引号字符串执行效率高。
思考:
如下代码输出什么内容?
变量如果在字符串的前面或中间,要用{}括起来。
{和$要紧挨着
{和$可以调换位置
1.11 数组
1.11.1 数组的概念
思考:
一个变量存一个值,现在我们班有100个学生,要100个变量来保存学生姓名,这样不便于记忆,如何解决?
解决方法:数组。
数组:计算机内存中的一段连续空间,通过下标来区分数组。
1.11.2 数组的分类:
索引数组:通过元素的位置做下标,默认从0开始,每次增长1,可以更改数组的起始下标。
关联数组:通过字符串做下标
数组的下标我们可以成为键,下标和对应的值成为“键值对”。
思考:1、请写出数组的下标
$stu=array(1=>'a','b','c','d');
思考:2、请写出数组的下标
$stu=array('a',2=>'b','c',5=>'d');
思考:3、请写出数组的下标
$stu=array(1=>'a',1=>'b',1=>'c','d');
1.12 输出语句
1.12.1 echo
只能输出数字、字符串
对于布尔型,TRUE输出成1, FALSE输出空
可以一次输出多个参数。echo没有返回值
1.12.2 print
和echo语句很类型,
一次只能输出一个参数
输出成功会返回1,失败返回0
1.12.3 print_r();
用来输出数组,输出的内热包括键和值,不包括数据类型
1.12.4 var_dump()
如果输出普通变量,输出的是变量的值和变量的类型。
如果输出的数组,包括键、值、值的数据类型。
1.13 PHP注释
单行注释:
//单行注释
#单行注释
多行注释:
/*
多行注释
*/
1.14 运算符
1.14.1 算数运算符
一元运算符 |
二元运算符 |
负号 |
+ |
++ 递增1 |
- |
-- 递减1 |
* |
/ |
|
% |
注意:
1、+号在js中可以做数字的相加,也可以做字符串相加(字符串相连),在PHP中,+只能做数字运算
思考:下列表达式结果是什么
<?php
echo '10'+'20';
?>
结果:30
<?php
echo '10aa'+'20bb';
?>
结果:30
<?php
echo 'aa'+'bb';
?>
结果:0
2、取模就是取余数
5%2=1
10%2=0
2%5=2
4%10=4
3、++前置和++后缀
++前置:先自增,后运算
++后置:先运算,后自增
思考:如下代码输出什么?
<?php
$a=5;
echo $a++;
?>
//输出5
<?php
$a=5;
echo ++$a;
?>
//输出6
<?php
$a=5;
echo (++$a)+(++$a)+(++$a);
//678
?>
//输出21
1.14.2 比较运算符
运算符 |
描述 |
> |
大于 |
>= |
大于等于 |
< |
小于 |
<= |
小于等于 |
== |
等于 |
!= |
不等于 |
=== |
全等 |
!== |
不全等 |
比较运算符的结果就两个,TRUE和FALSE。
==只比较值,===比较值和数据类型。
思考:如下代码输出什么?
<?php
$a='abc';
$b=0;
if($a==$b)
{
echo '相等';
}
else
{
echo '不相等';
}
?>
//相等
1.14.3 逻辑运算符
运算符 |
描述 |
&& |
与:并且 |
|| |
或:或者 |
! |
非:取反 |
逻辑运算符是用来连接比较运算符的。
逻辑运算符运算的结果TRUE和false。
True && truetrue
True && falsefalse
False && truefalse;
False && falsefalse
True || truetrue
True || falsetrue
False || truetrue
False || falsefalse
!truefalse
!falsetrue
1.14.4 字符串连接符
在PHP中,字符串连接符是点(.);
1.14.5 赋值运算符
运算符 |
描述 |
= |
赋值 |
+= |
a+=b a=a+b |
-= |
a-=b a=a-b |
*= |
a*=b a=a*b |
/= |
a/=b a=a/b |
%= |
a%=b a=a%b |
.= |
a.=b a=a.b |
1.14.6 三元运算符
表达式?值1:值2
如果表达式为真,返回值1,否则返回值2
1.15 判断语句
1.15.1 单分支
语法:
if(条件)
{
//代码
}
流程图:
1.15.2 双分支
语法:
if(条件)
{
//代码1
}
else
{
//代码2
}
流程图:
1.16 例题:判断奇偶数
1.16.1 设计界面
HTML代码中,form的method属性用于设置提交的方法,(get|post),action设置提交的位置,action=’’表示提交到本页面。
1.17 判定是否点击了提交按钮
isset()用来判定变量是否赋值,并且不为NULL。
1.17.1 判断奇偶数的业务逻辑
1.17.2 优化判定奇偶数代码
在上面的例题中,如果收入字符串或小数会发现有bug。
需要用到的知识点
1、is_numeric()用来判定是否是数字或数字字符串,如果是数字或数字字符串返回TRUE,否则返回false。
2、将数字字符串转成数字类型
3、is_int()用来判定是否是×××
完整代码如下:
<?php
//isset()为TRUE,表示点击了提交按钮
if(isset($_POST['button']))
{
$num=$_POST['num'];//获取输入的
//判断是否是数字
if(is_numeric($num))//是数字
{
//将字符串数组转成数字
$num+=0;
//is_int()用来判定是否是整型
if(is_int($num))
{
if($num%2==0)
{
echo "{$num}是偶数";
}
else
{
echo "{$num}是奇数";
}
}
else
{
echo $num.'不是整数';
}
}
else
{
echo "{$num}不是数字";
}
}
?>
<form name="form1" method="post" action="">
<table width="500" border="1">
<tr>
<th colspan="2">请输入数字</th>
</tr>
<tr>
<td>请输入一个数:</td>
<td><input type="text" name="num" id="num"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="button" id="button" value="提交"></td>
</tr>
</table>
</form>
1.18 作业:
参照判定奇偶数写出判定闰年的业务逻辑。
转载于:https://blog.51cto.com/7080696/1871185