文章目录
- PHP简介
- 前置知识了解
- 静态网站的特点
- 动态网站特点
- PHP基础语法
- 代码标记
- 注释
- 语句分隔(结束)符
- 变量
- 变量的基本概念
- 变量的使用
- 变量命名规则
- 预定义变量
- 可变变量
- 变量传值
- 内存分区
- 常量
- 基本概念
- 常量定义形式
- 命名规则
- 使用形式
- 系统常量
- 魔术常量
PHP简介
PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,而且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页。
前置知识了解
静态网站的特点
1.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;
2.静态网页的内容相对稳定,因此容易被搜索引擎检索;
3.静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
4.静态网页的交互性较差,在功能方面有较大的限制。
动态网站特点
1.交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后Web发展的潮流。
2.自动更新:即无须手动更新HTML文档,便会自动生成新页面,可以大大节省工作量。
3.因时因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面。
此外动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。在动态网页网址中有一个标志性的符号——“?”
PHP基础语法
首先:PHP是一种运行在服务器端的脚本语言,可以嵌入到HTML中
为了防止显示中文出现乱码,建议加上下面的这句话
//处理脚本让浏览器按照指定字符集解析的方法
header('Content-type:text/html;charset=utf-8');
代码标记
在PHP历史发展中,可以使用多种标记来区分PHP脚本
- ASP标记:<% php代码 %>
- 短标记:<? Php代码 ?>
以上两种基本弃用,更加常用的标志是:<?php php代码?>
注释
PHP中注释分为两种:行注释和块注释
- 行注释:一次注释一行 。写法1:
#
写法2://
- 块注释:一次注释多行
/* 中间直到*/出现之前,全部都是注释 */
语句分隔(结束)符
在PHP中,代码是以行为单位,系统需要通过判断行的结束,该结束通常都是一个符号分号;
特殊说明:
1.PHP中标记结束符?>有自带语句结束符的效果,最后一行PHP代码可以没有语句结束符
<?php
echo "hello I am Mango ! PHP yyds!";
echo "我可以没有分号"
?>
2.PHP中其实很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯中就不建议使用标记结束符?>,PHP会自动从开始到最后全部认为是PHP代码,从而解析
<?php
echo "hello I am Mango ! PHP yyds!";
echo "hello world";
变量
变量的基本概念
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的
1.变量是用来存储数据的
2.变量是存在名字的
3.变量是通过名字来访问的(数据)
4.变量是可以改变的(数据)
变量的使用
PHP中的所有变量都必须使用“$”符号
1.定义:在系统中增加对应的变量名字(内存)
2.赋值:可以将数据赋值给变量名(可以在定义的同时完成)
3.可以通过变量名访问存储的数据
4.可以将变量从内存中删除
变量命名规则
1.在PHP中变量名字必须以“$”符号开始;
2.名字由字母、数字和下划线“_”构成,但是不能以数字开头;
3.在PHP中本身还允许中文变量(不建议)
$1var;//err
$中国 = 'China'; #中文变量 ok
预定义变量
预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量本质是数组)
- $_GET:获取所有表单以get方式提交的数据
- $_POST:POST提交的数据都会保存在此
- $_REQUEST:GET和POST提交的都会保存
- $GLOBALS:PHP中所有的全局变量
- $_SERVER:服务器信息
- $_SESSION:session会话数据
- $_COOKIE:cookie会话数据
例子:
可变变量
可变变量:如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个$符号
$a = 'b';
$b = 'I am b';
echo $$a; # $$a == > $b ==> 'I am b'
- 1.先找到$a,解析出结果为b
- 2.将前面的$符号和b进行绑定,就是$b,然后输出
变量传值
将一个变量赋值给另外一个变量:变量传值
- 变量传值一共有两种方式:值传递,引用传递
值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)
例子:
<?php
$a = 1;
$b = $a; //值传递
$b = 2;
echo $a,'<hr/>',$b; //输出1,2
引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)
$新变量 = &$老变量
<?php
$a = 1;
$b = &$a; //值传递
$b = 2;
echo $a,'<hr/>',$b; //输出2,2
内存分区
在内存中,通常有以下几个分区
栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快
代码段:存储程序的内存部分(不执行)
数据段:存储普通数据(全局区和静态区)
堆区:存储复杂数据,大但是效率低
常量
基本概念
常量与变量一样,都是用来保存数据的。
常量:const/constant,是一种在程序运行当中,不可改变的量(数据)。常量一旦定义,通常数据不可改变(用户级别)
常量定义形式
在PHP中常量有两种定义方式(5.3之后才有两种)
- 1.使用定义常量的函数:define(‘常量名’,常量值);
- 2.5.3版本之后才有的:const 常量名 = 值;
define('PI',3.14);
const PII = 3.14;
命名规则
1.常量不需要使用“$”符号,一旦使用系统就会认为是变量;
2.常量的名字组成由字母、数字和下划线组成,不能以数字开头;
3.常量的名字通常是以大写字母为主(与变量以示区别);
4.常量命名的规则比变量要松散,可以使用一些特殊字符,该方式只能使用define定义;
细节:
1.define和const定义的常量是有区别:在于访问权限区别
2.定义常量通常不区分大小写,但是可以区分,可以参照define函数的第三个参数
第一个参数规定常量的名称,也叫标识符
第二个参数规定常量的值,就是一个不希望被改变的标量数据类型的数据
第三个参数是可选参数,用来规定常量名是否区分大小写
使用形式
常量的使用与变量一样:不可改变值**(在定义的时候必须赋值)**。常量不需要使用“$”符号,一旦使用系统就会认为是变量
echo PI;
echo PII;
有的时候还需要使用另外一种形式来访问(针对的是特殊名字的常量),需要用到另外一个访问常量的函数:constant(‘常量名’)
<?php
define('-_-','smile');
//echo '-_-';// 特殊符号不能直接使用
echo constant('-_-');
?>
说明:常量和变量的使用
1.凡是数据会可能变化的,那么肯定是用变量
2.数据不一定会变的,可以使用常量或者变量(变量居多)
3.数据不允许被修改的,一定用常量
系统常量
系统常量:系统帮助用户定义的常量,用户可以直接使用
常用的系统常量:
- PHP_VERSION:PHP版本号
- PHP_INT_SIZE:整形大小
- PHP_INT_MAX:整形能表示的最大值(PHP中整形是允许出现负数:带符号)
echo '<hr/>',PHP_VERSION,'<hr/>',PHP_INT_SIZE,'<hr/>',PHP_INT_MAX; #5.4.8 4 2147483647
魔术常量
在PHP中有一些特殊的常量,他们有双下划线开始+长两名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户不能改变
- _DIR_:当前被执行的脚本所在电脑的绝对路径
- _FILE_:当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)
- _LINE_:当前所属的行数
- __NAMESPACE__:当前所属的命名空间
- __CLASS__:当前所属的类__
- _METHOD_:当前所属的方法
- __FUNCTION__:当前函数的名字