php代码基本语法
PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。PHP同时支持面向对象和面向过程的开发,使用上非常灵活。
1.注释风格
//
单行注释/**/
多行注释#
单行注释(python风格)
php语句以;
结束 ,php变量名以$
标识, php是一种“弱类型语言”,声明变量或者常量时不需要事先声明其数据类型。
2.数据类型
- 1.标量数据类型
- 布尔型 : TRUE | FALSE
- 整型 : 不包含小数点的实数,其中16进制 以 0x 开头; 8进制 以 0 开头
- 浮点型 : 含小数点的实数
- 字符型 : 字符序列,且php中没有对字符型的最大长度进行规定,以单引号
''
或者双引号""
括起来
- 2.复合数据类型
- 数组 : php中的数组很灵活,有点类似map的感觉,键值对,而且每个键和值的数据类型,可以是整数,浮点数,字符串。并且它的长度是动态的,可以自由扩充。
- 对象 : 与Java中的对象概念一致,一个事物就是一个(对象—>类),每个事物都有自己的特征和行为(类的成员变量和方法)
- 3.特殊数据类型
- 资源数据类型 : 资源是php提供的一种特殊数据类型,用于表示php的外部资源。(流,数据库连接…)
- null(NULL) : 用来表示不存在或者不确定的特殊数据类型
- 4.伪类型
- php 引入4种伪类型,用来指定一个函数的参数或返回值的数据类型
- mixed mixed说明函数可以接受(或返回) 不同数据类型的数据
- number 函数可以接受(或返回) 整型|浮点型数据
- void void说明函数没有参数或没有返回值
- callback callback 说明函数可以接受用户自定义的函数作为参数
function call_user_func(callable $callback, mixed ...$args): mixed {}
3. 命名规范
其实基本与其他高级语言类似
- 1.类首字母大写 Student
- 2.常量全部大写,如果是多个单词则用下划线分隔 ROOT_PATH_FILENAME
- 3.变量采用驼峰式命名,$studentList (第一个单词首字母小写,其余单词首字母大写)
- 4.数组 使用xxxs的方式命名,因为数组都是包含多个数据 $nums
- 5.函数 动词的方式 emmmm,其实也就是见名知意 findXXX() selectXXX() delXX() …
4.常量
常量就是指,在程序运行过程中始终保持不变的值。
常量一旦被定义,常量的值和数据类型就不能再改变。
php常量包括预定义常量和自定义常量
- 1.预定义常量
预定义常量即php自身提供的一些常量,可以直接在程序中使用
比如 TRUE FALSE NULL 这三个就是最常使用的预定义常量。
- 2.自定义常量
自定义常量在使用前必须定义声明(貌似所有的高级语言都这样),然后php提供了一个函数专门用来自定义常量。
define(name,value[,bollean case_insensitive])
define()函数的第一个参数为变量的名称,第二个参数为变量的值,第三个参数为该变量是否区分大小写(默认为ture 区分大小写)
<?php
define("ST1","张三");
echo ST1;
// 不区分大小写 但是在我使用的 7.4 php 已经弃用了这个不区分大小写
define("ST2","李四",false);
echo ST2;
?>
常量必须使用define()函数定义,而且常量名前面不加前缀$
,然后只要定义了,就不能再修改它的数据类型和值,也不能销毁。
5.变量
变量是一个临时存储数据的容器,它的值,在运行过程中可以改变,它的数据类型可以是任意一种的数据类型。
变量名必须以 $
美元符号开头,然后php中的变量是区分大小写的(貌似没有高级语言不区分的).
与传统的高级语言有一点不同,php可以将已定义的变量的值和数据类型进行修改。
- 1.变量的定义方式
<?php
// 对变量进行重新赋值,其底层与java一样,都是重新改变变量的指向来做的
$user1 = "小白";
$user1 = "管理员";
// 对变量重新赋值,并且修改其数据类型
$flag = false;
// 我这里使用 var_dump()函数,这个函数可以将参数的数据类型和值都打印出来便与观察
var_dump($flag);
var_dump($flag); // bool(false)
$flag = 1.0; // float(1)
// 可见由于php语言的灵活性,我们可以将其的数据类型改变
?>
-
2.变量的赋值方式
- 传值赋值
传值赋值方式,其实就是两个变量共同指向一个值
<?php $p_age1 = 18; $p_age2 = $p_age1; echo $p_age1; //18 echo $p_age2; //18 $p_age2 = 22; echo $p_age1;//18 echo $p_age2;//22 ?>
- 传地址方式(类似C语言的指针)
使用
&
取地址符号,一瞬间感觉回到了c语言<?php $p_age1 = 18; $p_age2 = &$p_age1; $p_age2 = 22; echo $p_age1;// 22 echo $p_age2;// 22 // 因为是传地址赋值,所以修改 $p_age2 也会将 $p_age1 修改 ?>
可变变量
tip:这个php中的可变变量类似C语言中的二重指针,二重指针,实际上就是存放指针的地址。 二重指针变量:在指针变量的基础上再往上溯源,它也是一个变量,这个变量的值是它所指向的指针的地址,即(二重指针变量 = 指针的地址).
可变变量:可变变量允许php程序动态的变更一个变量的变量名.
<?php
$userAge = "age";
$$userAge = 20;
echo $age; //20
echo $userAge; //age
echo $$userAge; //20
?>
6.变量常量常用的函数
函数名 | 作用 |
---|---|
String gettype(mixed var) | 获取并且返回参数的数据类型 |
void var_dump() | 打印输出参数的数据类型和值 |
bool defined(string name) | 检查常量是否被定义,若定义则返回ture,反之返回false |
bool isset(mixed var) | 检查变量是否被定义,若定义则返回ture,反之返回false |
void unset(mixed var) | 将变量取消定义 |
boolean is_null(mixed var) | 检查变量是否为空,若为空则返回ture,反之返回false |
boolean empty(mixed var) | 检查变量是否为空,若为空则返回ture,反之返回false |
这里需要稍微注意的就是 isnull()函数和 empty()函数
- 1.is_null()函数
is_null()函数对于空值的规定为:
变量未经定义;变量的值赋为NULL,变量经过unset()函数处理。 - 2.empty()函数
empty()函数对于空值的规定为:
变量字符串为空字符串"",整数0,浮点数0.0,NULL,字符串“0” (这里是由于php的特性,其底层会将字符串"0"转换为整型0) 或者未定义的变量,空数组 都将视为空
暂时先到这里啦!!!