PHP学习笔记
PHP代码标记
PHP 注释
行注释:一次注释一行
// 和#
块注释:
/* ---------*/
PHP语句分隔符
语句分隔符:在php中,代码是以行为单位,系统需要通过判断行的结束,该结束通常都是一个符号:分号“;”(英文状态下的分号)
定义内容
<?php
$a=5; echo 'hello world';
?>
注意:1.php中标记结束符?>自带语句结束符的效果,最后一行php代码可以没有;
2.php中其实很多代码的书写并不是嵌入到HTML中,而是单独存在
PHP 变量
php是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而php作为中间人,需要进行数据的传递,前提是PHP能自己存储数据(临时存储)
1. 变量的使用和命名规则
在PHP中不需要任何关键字定义变量,直接赋值
$ a;
$b=2;
echo $b;//通过b变量名字找到存储的内容2,然后输出
//删除变量:使用unset(变量名字)
unset($a);
在PHP中变量名字必须以“$”符号开始
名字由字母,数字和下划线“_”构成,但是不能以数字开头
PHP中本身还允许中文变量
$a_1;$b_a_1;//正确
$1_a;//错误
2.预定义变量
提前定义的变量,系统定义的变量,都是数组
$_GET:获取所有表单以get方式提交的数据
$_POST:POST提交的数据都会保存在此
$_REQUEST:GET和POST提交的都会保存
$_GLOBALS:PHP中所有的全局变量
$_SERVER:服务器信息
$_SESSION:session会话数据
$_COOKIE:cookie会话数据
$_ENV:环境信息
$_FILES:用户上传的文件信息
3.可变变量
如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多家一个$符号
4.变量传值
将一个变量赋值给另外一个变量:变量传值
值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)
引用传递:将变量保存的值所在的内存地址,传递给另一个变量:两个变量指向同一个内存空间
5.在内存中,通常有以下几个分区
栈区:程序可以操作的内存部分(不存数据,运行代码),少但是快
代码段:存储程序的内存部分(不执行)
数据短:存储普通数据(全局区和静态区)
堆区:存储复杂数据,大但是效率比低
PHP常量
1.基本概念:常量:const/constant,是一种在程序运行当中,不可改变的量(数据)
常量一旦定义,通常数据不可改变(用户级别)
2.定义形式
使用定义常量的函数:define(’常量名‘,常量值);
const 常量名=值;
<?php
//php常量
//使用函数定义常量:define
define('pai',3.1415926);
//使用const关键字定义
const pai = 3.14;
?>
常量名字命名规则:
1.常量不需要使用“$”符号,一旦使用系统就会认为是变量
2.常量的名字组成由字符、数字和下划线组成,不能以数字开头
3.常量的名字通常以大写字母为主(与变量以示区别)
//定义特殊变量
define('-_-'.'smile');
define和const定义的常量有区别:在于访问权限区别
PHP系统常量
系统常量:系统帮助用户定义的常量,用户可以直接使用
常用的系统常量
PHP_VERSION //php的版本号
PHP_INT_SIZE//int的字节
PHP_INT_MAX//int的最大值
在PHP中还有一些特殊的常量,他们有双下划线开始+常量名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户改变不了
__DIR__:当前被执行的脚本所在电脑的绝对路径
__FILE__:当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)
__LINE__:当前所属的行数
__NAMESPACE__:当前所属的命名空间
__CLASS__:当前所属的类
__METHOD__:当前所属的方法
PHP数据类型
1.数据类型:data type,在php中指的是存储的数据本身的类型,而不是变量的类型,php是一中弱类型语言,变量本身没有数据类型
2.PHP中八种数据类型:
简单(基本)数据类型:四个小类
整型:int/integer ,系统分配四个字节存储,表示整数类型
浮点型:float/double ,系统分配八个字节存储,表示小数或者整型存不下的整数
字符串型:string ,系统根据实际长度分配,表示字符串(引号)
布尔类型:bool ,表示布尔类型,只有两个值:true和false
复合数据类型:2个小类
对象类型:object,存放对象(面向对象)
数组类型:array,存储多个数据
特殊数据类型:2个小类
资源类型:resource,存放资源数据(PHP外部数据,如数据库,文件)
空类型:NULL,只有一个值就是NULL(不能运算)
类型转换
1.类型转换:在很多条件下,需要指定的数据类型,需要外部数据(当前PHP取得的数据)转换成目标数据
2.自动转换:系统根据需要自己判定,自己转换效率较低
3.强制转换:认为根据需要的目标类型转换
在转换过程中,用的比较多的是转bool类型和转数值类型(算数运算)
PHP进制转换
1.10进制转2进制
//默认的PHP输出数据都会自动转换成10进制输出
Decbin()//十进制转二进制
Dechex()//十进制转十六进制
Bindec()//二进制转十进制
PHP运算符
1.运算符:operator,是一种将数据进行运算的特殊符号
2.赋值运算符:符号是“=”,表示将右边的结果(可以是变量、数据、常量和其他运算出的结果),保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量
比较运算符
===:全等于,左右:大小以及数据类型都相同
!==:不全等于,只有数据类型或大小不同
连接运算符:是PHP中将多个字符串拼接的一种符号
.:将两个字符串连接到一起
.=:复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边变量
A.=b 等价于A=A.b
错误抑制符
$a = 10;
$b = 0;
$a % $b;
@($a % $b);//抑制发生的错误
PHP循环结构
for循环:
<?php
$var1 = 100;
for($var2=1;$var2<=$var1;$var2++)
{
echo $var2,'<br/>';//'<br/>'为换行
}
?>
while循环
<?php
$i = 1;
while($i<=100)
{
echo $i,'<br/>';
$i++;
}
?>
发生的错误
PHP循环结构
for循环:
<?php
$var1 = 100;
for($var2=1;$var2<=$var1;$var2++)
{
echo $var2,'<br/>';//'<br/>'为换行
}
?>
while循环
<?php
$i = 1;
while($i<=100)
{
echo $i,'<br/>';
$i++;
}
?>