PHP基本语法、类型和变量
PHP基本语法
- PHP标记
- php语句
- 指令分隔符
- 空白处理
- 注释
常用打印输出方式
- echo
- var_dump
- print_r
- var_export
类型
- 标量类型(四种)
- 复合类型(常用的两种)
- 特殊类型
变量基础
- 命名规则
- 传值赋值
- 引用赋值
PHP基本语法
- PHP标记
<?php 和 ?>,PHP开始和停止之间解析它们的代码片段。
如果内容全部是PHP代码,可以删除末尾的?>结束标记。- PHP语句
结构定义语句:{}
功能执行语句:变量声明、函数调用、内容的输出;- 指令分隔符
; PHP需要在每个语句后用分号结束指令。
- 空白处理
好的空白处理可以增加代码的可读性、可维护性
- 注释
//:单行注释
/**/:多行注释
注释是为了提高代码的可读性
打印输出方式
- echo
输出一个或多个字符串
echo接受参数列表,没有返回值
// 由于 "."连接符 相对于"+"优先级相同,为了正确使用,可以用圆括号包起来
// echo "SUM:", 1 + 2 . "<hr>";
echo "SUM:" , (1 + 2) . "<hr>";
输出字符串
print和echo最大的区别:print支持一个参数,并总是返回1
$bar = "Test";
print ("Hello print"). "<br>";
print "This is " . $bar . "<hr>";
- var_dump
打印变量的相关信息,无返回值
显示一个或者多个表达式的结构信息。
$count = 1;
$sum = $count + 0.5;
var_dump($count, $sum);
echo "<br>";
$arr = array(1,3,4,8,2);
var_dump($arr);
echo "<hr>";
print_r
打印变量值本身
如果是arrary和objeck会显示键值对
$arr = array("one" => 1, "tow" => 2, "three" => array("array"));
print_r($arr);
var_export
输出或返回一个变量的的字符串显示
和var_dump类似,不同的是它是有返回值的,返回参数为true的时候,var_export会返回一个变量,而不是输出它。
$export = array(11,38, array("one", "two", "three"));
var_export($export);
echo "<br>";
$value = 1.32343424;
$res = var_export($value, true);
echo $res . "<hr>";
上述代码演示展示
类型
四种标量类型
integer: 整型
必须至少有一个数字(0-9)
不能包含逗号或空格
整型是没有小数点的
可以是正数或负数
可以用三种格式来指定:十进制,十六进制(0x作为前缀),八进制(前缀0)
$data = 2020;
var_dump($data);
echo "<hr>";
$data = -179; //负数
var_dump($data);
echo "<hr>";
$data = 0x82; //十六进制
var_dump($data);
echo "<hr>";
$data = 043; //八进制
var_dump($data);
echo "<hr>";
float: 浮点型
浮点数是有小数点或指数形式的数字
$a = 1.12;
var_dump($a);
echo "<br>";
$a = 2.5e3;
var_dump($a);
echo "<br>";
$a = 7E-3;
var_dump($a);
echo "<hr>";
string: 字符型
字符串是一系列字符的合集,字符串需要用单引号或者双引号包含起来。
$php = "PHP is the best language in the world!";
$name = "peter";
var_dump($name);
echo "<br>";
注意:PHP字符串类型单引号和双引号一般情况下是通用的,但是有些场景下二者还是有区别的
双引号字符串内的变量会被解析,而单引号则直接认为是普通字符串不去解析。
$php1 = "php";
$test = "PHP is the best language in the world!";
$test_1 = "$php1 is the best language in the world!";
echo $test. "<br>";
echo $test_1;
echo "<hr>";
双引号中的变量($var)和转义字符(\r\n之类)会被解析单引号则不会,所以单引号运算速度更快
bool: 布尔型
布尔型是 TRUE 或 FALSE,一般用于条件判断
常用两种复合类型
array: 数组
数组是一个复合数据类型可以在一个变量中存储多个值,数组分为“索引数组”和“关联数组”,在PHP中数组的使用比较灵活。
PHP中数组的声明可以用array()函数,PHP5.4以后也可以用[]来声明
//array
$arr = array(1,3,4,6,2);//索引数组
print_r($arr);
echo "<br>";
$arr = [1,3,4,6,2]; //关联数组
print_r($arr);
echo "<hr>";
object: 对象
两种特殊类型
null: 没有值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据
$php = "PHP is the best language in the world!";
$PHP = null;
var_dump($PHP);
经测试:
unset()和null还是有区别的:
unset()是删除变量,而null仅仅是把变量赋值为null。resource:资源类型
数据类型上述代码演示展示
变量
变量命名规范
- $ 变量标识符不能以数字开头,不能有空格,.分开, 也不能使用特殊的字符。
- 可以以下划线 字母开头 后面跟任意数量的字母或者是下划线。
- 变量由多个单词组成,第一个单词全部小写,后面的单词首字母大写aaaBbbCcc,驼峰命名法则可以采用。
传值赋值
变量代表的数据传递,变量自身不受彼此影响。
引用赋值
变量代表的数据所在地址传递,一个改变会影响另外一个。
传值赋值和引用赋值的区别
值传递在一个变量发生改变后,另外一个变量不受影响。
引用传递在一个变量改变后,另外一个变量跟着改变。
总结
GET到了PHP的基本语法(包括PHP标记,指令分隔符,注释,空白处理等)、类型、变量。
变量的传值方式,以及它们之间的区别。
打好基石,万丈不倒。