php基本语法

2017-03-20  本文已影响27人  zhanglizzy

一、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;
?>
上一篇下一篇

猜你喜欢

热点阅读