一,php 写法
PHP 除了变量不区分大小写 但是建议区分
注: 代码后面没有 html 代码的时候 结束标签可以省略
php 最后一条语句 分号 " ; " 可以省略 但是 省略了 结束标签之后不能省略
二,注释
// 双斜杠注释 一行
# 注释一行
/* 代码 */ 多行注释
小技巧
/* 前面加斜杠之后多行注释失效 //*
代码
//* 注释代码
也可以用if 语句注释 if(1 == 0) 执行 if(1 == 1)
三,变量
1.变量名和值 是 引用关系/指代关系
2.没有声明操作 变量赋值 等于声明
3. 操作 4个
赋值
取值
判断(isset($变量)返回布尔值 null 也是 false)
删除(unset($变量)) 其实是断开和值之间的联系 值还在内存中 但是会被回收
4.命名
(1)驼峰命名法 首单词小写 后面每个单词首字母大写
(2)帕斯卡命名法 每个单词首字母大写
(3)下划线分割法 都是小写 单词之间用下划线 _ 分开
5. 传值方式
(1) 值传递 复制值再赋值 互不影响
$v1 = 1;
$v2 = $v1;
(2)引用传递 & 符 复制引用关系直接让$v2 指向 $v1 的值
$v1 = 1;
$v2 = & $v1;
修改一个的值 另一个也会变 注 unset 只能切断连接 不能删除值
6.可变变量
$a = ‘abc‘;
$abc = 10;
echo $$a; // 10
用法
$v1 = 1; $v2 = 2; $v3 = 3; $v4 = 4; $v5 = 5; $sum = 0; for($i=1;$i<=5;$i++){ $v = "v" . $i; $sum += $$v; } echo $sum;
四,预定义变量
$_GET $_POST $_REQUEST $_SERVER $GLOBALS $_SESSION $_COOKIE $_FILES 都是数组
request 在 get 和 post 同时存在时 默认post为主(同样的变量名post会覆盖get)// 编程不建议用 因为提交模式不清晰
修改:php.ini request_order = "GP" // G 是get P是post 后面的会覆盖前面的 可以改成 PG以get为主
$GOLBALS 主要用于在局部范围不可以使用全局变量的时候,又需要该全局变量的值,此时就可以用它取得该全局变量的值
$v = 1;
echo $v; // 1
echo $GLOBALS[‘v‘]; // 1
isset 判断变量是否存在或者变量是否为空(null)
impty 判断变量的内容是否为空 不是null 的空 二十 没有内容 比如 0, "", "0", false, null, array()空也是空
五,常量 定义以后不会变 也不应该变
1. define("STR", ‘13131‘); // 声明方法1
echo STR; // 13131
echo constant("STR"); // 13131
2. const STR = 123; // 方法2
3. 也能用可变变量
$v = "STR";
const STR = 123;
echo constant($v); // 123
4.defined("STR"); 返回布尔值
注:使用未定义常量报错但是 还是会被使用 并且 其值是常量本身
5.预定义常量 // 系统自带的常量 有几百个 详情看手册
M_PI 圆周率
PHP_OS 当前操作系统
6.魔术常量 其值会变化 只有几个
__FILE__ 当前网页文件
__DIR__ 当前网页文件所在目录
__LINE__ 当前所在行
与变量的区别
1.定义形式不同
2.使用形式不同: 常量无需$符
3.可变程度不同: 常量的额值不可以改变,也不可以销毁
4.作用范围不同: 常量具有超全局作用(函数内外都能直接使用)
5.作用类型不同: 常量只能存储标量类型(整形,浮点型,字符串,布尔值)
六,数据类型 8种
1.基本类型
整数 int,integer
123 // 10进制 dec
0123 // 8进制 oct
0x123 // 16进制 hex
0b11010 // 2进制 bin
转换 10 进制转其他三种 // decoct dechex decbin
转换 其他三种转 10 进制 // octdec hexdec bindec
没有其它转换
转换原理
10 转其它 // 10进制数除以 进其它制数 记录 余 数 一直除 直到不能除 再把所有余倒着写
其它转10 // 每个位置 数乘以 进制数的 位置-1 次方 将所有结果相加 // 1*8^2 + 2*8^1+ 3*8^0
浮点 float,double,real
$v = 123.456;
$v = 123.456E3; 123.456*10^3;
$v = 123E3; 123*10^3; 虽然没有. 但还是浮点数
字符串 string
布尔 bool,boolen
2.复合类型
数组 array
对象 object
3.特殊类型
空 null (值只有一个 null)
资源类型 resource