0056 PHP编程语言的基本语法和例子
作者:学哥
发布时间:2018-10-1
上一节课简单介绍了PHP语言以及如何编写第一个PHP程序helloworld。
这节课来介绍PHP编程语言的基本语法和一些例子。
由于之前学习过Python编程语言和JavaScript编程语言,因此,在有一定的编程语言学习经验的基础下,可以改变学习的方法了。
学哥就不按照一步一步的方式,而是先用两节课直接讲PHP基础的语法规则用最简单的例子进行说明。
然后再用两节课讲解说明以前在学习Python的那些编程题目如何使用PHP编程语言来实现。
这样可以最快的掌握PHP的基础语言,然后继续后续的内容。
变量
首先来了解PHP的变量,先看例子:
$name="michael";
$number1=5;
$number2=6.8;
echo $a;
PHP的变量是以$符号来标识的,$后面紧跟着变量的名称,变量名有以下规则限制:
1.必须以字母或者下划线开头,不能以数字开头
2.只能包含字母数字字符和下划线,就是A-Z或a-z或0-9或_
3.是大小写敏感的,也就是$a和$A是两个不同的变量
变量是在首次给变量赋值的时候进行创建的。
所以PHP是一门类型松散的编程语言,也就是不需要明确告知PHP变量的数据类型。
PHP会根据赋值的值的类型,自动转换为正确的类型,这一点和Python类似。
PHP的一句语句是以分号结尾来区分。
数据类型
PHP的常用的数据类型,大概和Python差不多。
PHP字符串:
使用单引号或者双引号包围的字符序列。
例如:
$name="jack";
echo $name;
echo "tom";
$subject='hello';
PHP整数:
没有小数的数字。
例如:
$number1=6;
$n2=-38;
$c=0x8C;//16进制
整数不能有小数点,必须至少有1位数字,不能包含空格或者逗号或者符号等非数字,可以是正数或者负数。
PHP浮点数:
浮点数带有小数点或者指数形式。
例如:
$a=3.1415926;
$x=-4.88;
$y=2.6e2;
PHP布尔类型:
只能是true或者false。
例如:
$isnum=true;
$canstop=false;
布尔类型通常用于条件判断或者逻辑计算。
PHP数组:
一个变量中存储多个值,类似于Python的列表。
例如:
$colors=array("red","green","blue");
$numbers=array(array(1,2,3),array(4,5,6),array(7,8,9));//二维数组
数组有3种,分别是:
索引数组:带有数字索引的数组。
关联数组:带有指定键的数组。
多维数组:数组成员也是数组的数组。
例如$colors=array("red","green","blue");就是索引数组。默认的数字索引是从0开始的整数值。
访问索引数组时,使用方扩号里面放索引数字来访问数组的元素。
例如echo $colors[0];结果是"red";echo $colors[1];结果是"green";echo $colors[2];结果是"blue"。
关联数组相当于Python里面的字典数据类型,就是每个元素要赋予一个键值,访问的时候,方括号号里面指定键值来访问。
例如$ages=array("tom"=>36,"jack"=>48,"michael"=>19);
访问echo $ages["tom"];结果是36;
访问echo $ages["jack"];结果是48;
访问echo $ages["michael"];结果是19。
索引数组也相当于特殊的关联数组,例如$colors=array("red","green","blue");等同于$colors=array(0=>"red",1=>"green",2=>"blue");
多维数组就是某个数组元素也是一个数组,就构成多维数组,多维数组根据嵌套的数组层级可以分为二维数组、三维数组等等。
$numbers=array(array(1,2,3),array(4,5,6),array(7,8,9));就是一个二维数组。
echo $numbers[1][1];结果是5;echo $numbers[1][2];结果是6;echo $numbers[2][1];结果是8。
PHP的输出语句
PHP输出的语句有几个,常用的是echo或者print或者print_r或者var_dump,类似于Python的print函数。
echo是一个语言结构,有无括号都可以:echo 或者 echo()。
例如:
$name="jack";
echo $name;
echo($name);
echo "hello world";
echo "my name is $name";
print和echo的效果一样。
print_r一般用来输出整个数组。
例如:
$colors=array("red","green","blue");
print_r($colors);
var_dump类似于echo,但是可以输出单个变量或者整个数组都可以。
$name="jack";
$colors=array("red","green","blue");
var_dump($name);
var_dump($colors);
PHP大小写敏感
前面说过,变量是大小写敏感的,但是函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
例如,下面的三句语言是等价的,都是合法的:
echo "Hello World";
ECHO "Hello World";
EcHo "Hello World";
PHP注释方式
PHP的注释方法有三种,分别是:
//单行注释
#单行注释
/* 多行
注释 */
PHP运算符
算数运算符:加法/减法/乘法/除法/求模
$a=4;
$b=10;
$c=$a+$b; //加法
echo $c; //结果为14
echo "
"; //输出换行符
$c=$b-$a; //减法
echo $c; //结果为6
echo "
";
$c=$a*$b; //乘法
echo $c; //结果为40
echo "
";
$c=$b/$a; //除法
echo $c; //结果为2.5
echo "
";
$c=$b%$a; //求模
echo $c; //结果为2
echo "
";
代码如下:
结果如下:
赋值运算符:
$x=$y;
$x+=$y; 等同于 $x=$x+$y;
$x-=$y; 等同于 $x=$x-$y;
$x*=$y; 等同于 $x=$x*$y;
$x/=$y; 等同于 $x=$x/$y;
$x%=$y; 等同于 $x=$x%$y;
递增或递减运算符:
$x++; 等同于 $x=$x+1;
$x--; 等同于 $x=$x-1;
字符串运算符:
$x="hello";
$y=" world";
$z=$x.$y; //用点运算符可以拼接2个字符串
echo $z; //结果为 hello world
echo "
"; //输出换行
$y.=$x; //拼接后赋值
echo $y; //结果为 worldhello
echo "
"; //输出换行
代码如下:
结果如下:
比较运算符:==和===和!=和>和<和>=和<=
$x==$y 如果
$x===$y 如果
$x!=$y 如果
$x<>$y 如果
$x>$y 如果
$x<$y 如果
$x>=$y 如果
$x<=$y 如果
例子:
$x=99;
$y="99";
var_dump($x==$y); //结果为true
echo "
"; //输出换行
var_dump($x===$y); //结果为false
echo "
"; //输出换行
var_dump($x!=$y); //结果为false
echo "
"; //输出换行
var_dump($x<>$y); //结果为false
echo "
"; //输出换行
$x=36;
$y=72;
var_dump($x>$y); //结果为false
echo "
"; //输出换行
var_dump($x<$y); //结果为true
echo "
"; //输出换行
代码如下:
结果如下:
逻辑运算符:&&和||和!
$x && $y 如果
$x || $y 如果
! 如果
例子:
$x=true;
$y=true;
echo $x && $y; //结果为true
echo "
"; //输出换行
echo $x || $y; //结果为true
echo "
"; //输出换行
$x=false;
$y=true;
echo $x && $y; //结果为false
echo "
"; //输出换行
echo $x || $y; //结果为true
echo "
"; //输出换行
$x=true;
$y=false;
echo $x && $y; //结果为false
echo "
"; //输出换行
echo $x || $y; //结果为true
echo "
"; //输出换行
$x=false;
$y=false;
echo $x && $y; //结果为false
echo "
"; //输出换行
echo $x || $y; //结果为false
echo "
"; //输出换行
$x=true;
echo !$x; //结果为false
echo "
"; //输出换行
$x=false;
echo !$x; //结果为true
echo "
\s"; //输出换行
代码如下:
结果如下: