学习日期 4.9起
PHP语法初步
<?pph
#最后的?> 可以不带,这样php就会认为所有的语言都是php语言。
?>
PHP注释
// 行注释
# 行注释
/*
*
*
*
*
* 块注释
*/
PHP分隔符
标记结束符 ;
变量
/*
*变量是存储计算结果,变量通常是可变的:数据
*变量可以通过变量名来访问:数据
*/
/*
* 1. 定义:在系统中增加变量的名字(内存)
* 2. 赋值:可以将数据赋值给变量名(可以在定义的同时完成)
* 3. 通过变量名来访问存储的数据
* 4. 可以将变量从内存中删除
*/
// 定义变量
$var1 = 9;
$var2 = 1;
// 访问变量
echo $var2;
//修改变量
$var2 = 0;
echo '<hr/>' ,$var2; // <hr/> html语言插入分割线
// 删除变量
unset($var2);
变量命名
// 变量命名
/*
* 变量名以$开始,
* 变量名不能以数字开头
*/
预定义变量
/*
* 预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
* $_GET 获取所有表单以get方式提交数据
* $_POST post提交的数据都会保存于此
* $_REQUEST get、post提交的都会保存
* &_GLOBALS php中所有的全局变量
* $_SERVER 服务器信息
* $_SESSION session会话数据
* $_COOKIE cookie会话数据
* $_ENV 环境信息
* $_FILES 用户上传文件信息
*
*/
可变变量
/*
* 可变变量:如果一个变量的值刚好是另外一个变量的名字。
*那么可以直接通过访问一个变量得到另外一个变量的值:变量前面再加一个$符号
*
*
*/
$a = 'b';
$b = 'nn';
echo $a; #找到$a,解析结果为b
echo $$a; #将前面的$与结果b绑定结果为$b,然后解析
变量传值
/*
* 变量传值概念:讲一个变量赋值给另外一个变量
* 1. 值传递:将变量保存的值赋值一份然后将新的值给另外一个变量保存(两个变量没有关系)
* 2. 引用空间: 将变量保存的值所在的内存地址,传递给另外一个变量:两个变了指向同一块内存空间(两个变量是同一个值)
*
*/
//值传递
echo '值传递';
echo '</br>';
$a = 1;
$b = $a;
$a = 30;
echo $a;
echo '</br>';
echo $b;
echo '<hr/>';
//引用传递:引用的是地址
echo '引用传递:引用的是地址';
echo '</br>';
$c = 0;
$d = &$c;
$c = 8;
echo $c,'</br>',$d;
常量
常量的概念
// 常量
/*
* 定义:与变量一样保存数据;常量不可改变的量(数据)
* 常量一旦定义,通常数据不可改变(用户级别)
* 常量名字的命名通常以大写字母为主(与变量做区别)
* 两种方式
* 1. define(‘常量名’,常量值);
* 2. const 常量名 = 常量值;
* const 更适合用于类常量或者全局常量的简单定义,
* 而 define 在需要动态定义常量或者需要不区分大小写的常量名时更有用。
*/
define('pi',3.14);
const pii = 3;
echo pi,'</br>',pii;
常量的使用形式
// 与变量一样,直接访问常量的名字
// 访问特殊的常量名,需要使用constant
define('-_-',87);
echo constant('-_-');
常量和变量区别:
- 凡是数据可能变化的,那么肯定是用变量
- 数据不一定会变的,可以使用常量或者变量(变量居多)
- 数据不允许被修改,一定用常量
系统常量
数据类型
八种类型
// 数据类型
/*
* php中将数据分为三大类八小类:
* 基本的数据类型:4个小类
* 1.整型:int/integer ,系统分配4个字节存储,表示整数类型(有存储)
* 2.浮点数:float/double 8个字节存储,表示小数或者整型村不晓得整数
* 3.字符串:string 系统根据实际长度分配,表示字符串需要有“”
* 4.布尔类型:bool/boolean,只有两个值 true 和 false
*
* 符合数据类型:2个小类
* 1.对象类型:object,存放对象(面向对象)
* 2.数组类型:array 一次性储存多个数据
*
* 特殊数据类型:2个小类
* 1.资源类型:resource,存放资源数据(php外部数据,如数据库、文件)
* 2.空类型:NULL 只有一个值就是NULL(不可运算)
*/
类型转换
/*
* 类型转换:在很多的条件下,需要指定的数据类型,需要外部数据(当前php取得的数据),转换成目标数据类型
*
* 在php中有两种类型转换方式
* 1.自动转换:系统根据需求自己判定、自己转换(用的比较多、效率低)
* 2.强制(手动)转换:认为根据需要的目标类型转换
* 强制转换规则:在变量之前加一个(),然后在里面写上对应类型:int/integer ........其中NULL类型要用到unset()
* 在转换过程中,用的比较多的就是转布尔类型(判断)和转数值类型(算术运算)
*
* 其他类型转布尔类型 true false,少类型会转为false
*/
/*
*
* 其他类型转数值说明
* 1.布尔true为1,false为0
* 2.字符串转数值有自己规则
* 2.1 以字母开头的字符串,永远为0
* 2.2 以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)
*/
// 创建数据
$e = 'asd1.1.2';
$w = '1.4.5asd';
// 自动转换
echo $e . $w; // 字符串用.拼接
// 输出换行
echo '<br/>';
// 强制转换
echo (float)$e, '<br/>', (float)$w;
补充:
1 、var_dump() 是一个很实用的函数,它的主要功能是输出变量的详细信息,这些信息包含变量的类型和值。此函数在调试代码时非常有用
2 、在 PHP 里,empty() 是一个用于判断变量是否为空的函数,而 NULL 是一种数据类型,代表变量没有值
3 、empty() 是一个用于判断变量是否为空的函数,判断范围较广;而 NULL 是一种数据类型,仅用于表示变量没有值。在实际使用中,要依据具体需求来选择合适的判断方式。
运算符
赋值、算术、比较
次笔记只记录几个容易忘的
= 赋值,将右边地址复制给左边
== 左边与右边相同(大小相同)
!= 左边与右边不同(大小不同)
=== 全等于,左边与右边相同:大小以及数据的类型都相同
!== 不全等,只有大小或者类型不同
逻辑运算符
&& 与 左右条件同时成立(两边都为true)
|| 或 左边条件或者右边条件只要有一个满足即可
! 非 对已有条件进行取反,本身为true去反结果为false
$q = 'good';
$t = 'weekend';
// && 逻辑与
var_dump($q == 'good' && $t = 'weekend');
// || 逻辑或
var_dump($q == 'good' || $t == 'weekend!');
// !非
var_dump($q == 'goods');
var_dump(!($q == 'goods'));
连接运算符
将多个字符串拼接的一种符号