php基本语法
一、php基本介绍
1、php可以和html代码混合,但一定要用<?php //php代码 ?>标签包裹;
2、也可以在php中嵌入html代码;
<html>
<head>
<title>计算两个数相加的和</title>
<meta http-equiv="content-type" content="text/html"; charset="utf-8"/>
</head>
<body>
<h1>你好啊,我是混合嵌入进来的html代码~</h1>
<?php
$i=9+9;
echo "和是:".$i;
?>
</body>
</html>
3、如果只是为了显示一个变量的值可编写成:<?=$i?>
4、php注释方法:(同C、OC)
注释多行:/注释内容/
单行注释:// (unix风格#)
二、php基本语法:
1、php与html混编;
2、语句结束用分号";" ;
3、用$开头定义变量;
4、php变量的数据类型是变化的,变量类型是有运行的上下文决定的,php是弱数据类型编程语言;
5、php区分大小写;$a=89; 不同于$A=100; ;
6、php变量名称应当以字母或者下划线开头,不要用数字开头。
三、php数据类型:
1、基本数据类型:
整型、小数型(浮动数)(包含单精度和双精度php中已不区分)、布尔类型(真假)、字符串;
2、复合数据类型:
数组array、对象object;
3、特殊数据类型:
null、资源类型resource。
定义变量和赋值的区别:
<?php
$a=90; //这只是代表定义一个变量并赋值
$b;
$b=10;//给变量b赋值
$b=20;//给变量b重新赋值
?>
注:整数的范围超出了最大范围(一个整数一般占用四个字节(具体多少字节跟平台有关),一个字节占8位),则自动变成float。
整型占位.png 浮点数的细节: 最大拥有14位十进制数字的精度(精度要从左边开始的第一个非0的数字计算)。
字符串的细节:$a="hello"; 表示$a占用五个字节,一个字符占一个字节。
字符串常见定义方法(单引号和双引号区别):
$i = 90;
$key1 = "hello$i";
$key2 = 'hello$i';
echo "<br/>key1=".$key1;
echo "<br/>key2=".$key2;
//输出结果区别:key1=hello90 key2=hello$i
表达式:任何有值的东西。如:$a=89;//89是简单表达式 $b=90+9;//90+9也是表达式
四、运算符:
算术运算符:
$a = $b++; // 先执行$a = $b; 再执行 $b = $b+1;
$a = ++$b; //先执行 $b = $b+1; 再执行$a = $b;
$m = 10;
$n = $m++;
$j = ++$m;
echo "<br/>".$n;
echo "<br/>".$j;
//输出结果为:n=10; j=12;(因为m自增了两次)
比较运算符:
==双等于是比较两个常量的值是否相等;===是比较两个常量的类型是否相等。
$a = 110;
$b = 110.0;
if ($a == $b) {
echo '$a == $b';
}
if ($a === $b) {
echo '$a === $b';
}
//结果输出的是第一个判断条件
逻辑运算符:(与其他语言原理相同)
与、或、非。
短路与:与逻辑运算符前面的表达式不为真时,后面运算中断短路(优先级:先判断再自增):
$a = 7;
$b = 8;
if ($a++>7 && $b++>8) {
echo "第一次OK";
}
echo "a=".$a."b=".$b;
//输出结果为:ok是不会输出的,因为先判断再++,判断的时候a还是7,为假。所以后面短路中断不会再去++。结果为:a=8 b=8
$a=7;
$b=8;
if ($a++>6 && ++$b>8) {
echo "第二次OK";
}
echo "a=".$a."b=".$b;
//ok是会输出的,前面为真也不会短路,a=8 b=9
||、or、=的优先级:|| 大于 = 大于 or;
$e=false||true;
$f=false or true;
var_dump($e,$f);
//输出时e为真,f为假
同样:&&、and、=的优先级:&& 大于 = 大于 and;
运算符优先级.png五、三元运算符(原理同其他语言)
表达式1 ? 表达式2 :表达式3
表达式1的值是否正确,正确取表达式2的值,否则取3。
六、字符串运算符:
字符串拼接(用.连接),.连接将类型会自定转换为字符串类型:
//字符串的拼接
$a="hello,";
$b="world,";
$c="123";
$s=$a.$b.$c;//a、b、c的拼接(整型转为字符串类型了)
echo "字符串拼接结果:".$s;
//输出结果为:hello,world,123
七、类型运算符:
instanceof用于确定一个变量是否属于某一类class的实例。通常在面向对象中所用。
Class Dog{}
Class Cat{}
$cat1=new Cat;
if ($cat1 instanceof Cat) {
echo "cat1是一只猫";
}
八、常量(特殊的变量)
1、定义常量前面不需要$;
2、常量一旦定义,则不能修改其值;
3、常量在定义的时候就需要它赋初值;
4、常量可以通过define或者const定义;
5、常量的名称,一般是全部大写,用下划线间隔;
6、使用常量的情景:在程序中不希望某个值变化,则考虑使用常量,如圆周率、税率。。。
<?php
//定义常量方法一
define("TAX_RATE", 0.08);
echo TAX_RATE;
//定义常量方法二
const TAX_RATE2=0.1;
echo '------'.TAX_RATE2;
?>