PHP语法基础光速通关!!迅速学会进入实战巩固,反复观看新人必备,开干。

学习一门语言就如同建造一栋房子,要想盖一栋安全、稳固的大厦,必须有一个夯实的地基。同样的,想要掌握并熟练使用PHP语言开发,必须充分了解PHP语言的基础知识。

本篇文章将光速带大家快速通关PHP的基础语法,尽量详细的同时过滤掉大量的废话。有关环境配置等我想网上已经有许多教程了,

我自己也写过有关环境配置的教程:PHP搭建开发环境(Windows系统)-优快云博客

直接开干!!

1、PHP标记与注释

PHP是一门嵌入式脚本语言,经常被嵌入在HTML中使用。我们先讲PHP标记、注释和语句结束符的使用.

1.1 PHP标记

在进行PHP开发时,一般是先编写一个简单的HTML网页,然后将PHP代码嵌入HTML中。为了区别开HTML和PHP代码,需要使用标记对PHP代码进行标识。

我们先需要创建一个后缀为.php的文件,然后如下:


<body>
    <p>Hello PHP</p>
    <p>
        <?php echo "Hello PHP";?>
    </p>
</body>

上面的例子里“<? php echo "Hello PHP";?>”就是一段嵌入在HTML中的代码;

其中  <?php   就是PHP的开始标记,而   ?> 自然就是结束标记,  echo  用于输出字符串。

// 除了这样的标记 还有如下其他标记:
<?   ?> //这样就是短标记,需要在php.ini文件中设置short_open_tag的值为on。

//示例:
<?
echo 'Hello world!'
?>

一般不推荐使用上述的短标记,了解即可。

1.2 注释

注释在被解析时会被解析器忽略。在PHP中最常用的分别是“//”和“/*   */”。

// 单行注释

/*  
多行注释

*/

但我们需要大规模的注释掉一些代码,也就是不执行这些代码,可以先在编译器中选中需要注释的代码,然后按:

control键 + “/”键 

就可以实现将大规模代码注释掉;

1.3 语句结束符

在PHP中当一条语句结束后需要在结尾写上“;”,也就是一个英文的分号。

如果不写结束符那么程序就会报错!

比如:

<?php
    $name = 'zhangsan'
    echo $name
?>

它就会报这样的错误:

Parse error: syntax error, unexpected token "echo" in C:\web\Apache24\htdocs\index.php on line 37

如果在之前第二行代码的结尾加上“;”作为结束符则不会报错了。

2、变量与常量

在PHP中,变量和常量是用来保存数据的。变量用来保存可变的数据,常量用来保存不可变的数据。

2.1变量

在PHP中变量是由 “$”符号和变量名组成的。

PHP是弱类型语言,变量不需要事先声明就可以直接进行赋值使用。

PHP的变量赋值分为两种:

  • 传值赋值
  • 引用赋值

传值赋值示例如下:

$age = 14;  //定义变量$age, 赋值为14
$num = $age; //将$age赋值给$num
$age = 100; // 将$age的值修改为100
echo $num;

上面第二行代码就是对变量$num的传值赋值,当$age的值被修改为100时,$num的值依然是2.

引用赋值,就是在要赋值的变量前添加“&”符号,示例如下:

$age = 14;     
$num = &$age; // 引用赋值
$age = 100;    // 将$age的值修改为100
echo $num;  // $num的值也变为了100

总结:传值赋值就是将某一个变量的值传给另一个变量,如示例$age是14的时候,就将值“14”传给了$num,故而即使$age的值改变也无法再次影响$num;

而引用赋值这是将一个变量直接引用给另一个变量,这时传给$num的就不再是14了,而是将$age作为值引用给了$num。

2.2标识符的命名规则:

  1. 只能由字母、数字、下划线组成;
  2. 可以有一个或多个字符组成,必须以字母或者下划线开头;
  3. 当标识符作为变量名时,区分大小写;
  4. 如果标识符由多个单词组成,应该使用下划线进行分隔,如:user_name。

示例:

$name;   //合法
$_name;  // 合法
$2222;    // 非法
$dda dad;  //非法
$*dawe;   //非法

2.3 可变变量

为了在开发时动态的改变变量的名称,PHP提供了一项特殊的变量用法:可变变量。

$a = 'name';
$name = 'Hello';
$Hello = 'Lucy';

echo $a;        // 输出的结果为name;
echo $$a;        // 输出的结果为Hello;
echo $$$a;        // 输出的结果为 Lucy;

理解:我们可以这样看,$a的值自然是name,那 “$$a” 我们可以看成 “$” + “$a”,而“$a”的值就是等于name,那么 “$$a” 也就是“$” + “name” = “$name”, 而我们之前已经对$name赋过值了,为“Hello”,那么也就可以得到 “$$a” 的值为 “Hello”, 而 “$$$a”也是以此类推。

需要考虑的是,若变量$a的值是数字,则可变变量$$a就会出现非法变量名。因此,开发时可变变量的运用应酌情考虑。

2.4常量

常量是用来保存脚本在运行过程中值始终不变的量。

特点:一旦被定义就无法再被修改或重新定义。

例如,在数学中常用的圆周率π就是一个常量,它的值是固定不变的。

PHP中通常使用define()const 关键字来定义常量,如下:

define('CON', 'hello');   //定义常量CON,值为hello,对大小写敏感;
echo CON;   // 输出结果 hello;

以上示例里,define()的小括号中有两个参数,使用逗号分隔。第一个参数表示常量的名称,第二个则是常量的值。

注意:常量名在默认情况下对大小写敏感,所以CON和con不是同一个常量。

如果不想要对大小写敏感可以写第三个参数,是布尔值,为true和false,

为true则不区分大小写,如下:

define('CON', 'Hello', true); // 定义常量CON,值为Hello,不区分大小写。
echo con;   // 输出结果为 Hello ;
echo CON;   // 输出结果为 Hello ;

另外获取常量的值还可以使用constant(),如下:

define('CON', 'hello'); // 定义常量CON,值为hello;
echo constant('CON');   // 输出结果:hello

使用const关键字定义常量,如下:

const PI = 3.14;  // 定义常量PI, 赋值为3.14;
echo PI;          // 输出常量PI的值,结果为3.14

2.5 预定义常量

为了方便开发人员使用,PHP提供了预先定义好的常量来获取PHP中的信息,在需要时可以直接echo输出预定义常量就可以获取相关信息,如下表格:

常量名功能描述
PHP_VERSION获取PHP的版本信息
PHP_OS获取解析PHP的操作系统类型
PHP_INT_MAX获取PHP中整型数的最大值 2147483647
PHP_INT_SIZE获取PHP中整型数的字长
E_ERROR表示运行时致命性错误, 用1表示
E_WARNING表示运行时警告错误(非致命),用2表示
E_PARSE表示编译时解析错误,用4表示
E_NOTICE表示运行时提醒消息,用8表示

使用非常简单,如下:

echo PHP_VERSION;  // 输出PHP的版本信息

3、 数据类型

任何一门编程语言都离不开对数据的处理与运算。

3.1 数据类型分类

PHP中支持3类数据类型,分别为标量类型、复合类型和特殊类型

需要知道的是,PHP是一种弱类型语言,不需要在声明变量时指定其类型,变量的类型可以在代码运行时有所改变。

$num = 124;     // 此时$num为整型
$num = 'hello'; // 此时$num为字符串型

下面开始讲解各种数据类型

1、布尔型

布尔型是PHP中常用的数据类型,通常用于逻辑判断,它只有true和false两个值,意思就是“真”和“假”,并且不区分大小写

$flag1 = true;  // 将true赋值给$flage1;
$flage2 = false; // 将false赋值给$flage2;

2、整型

整型用来表示整数,它可以用十进制、八进制、十六进制表示,且前面加上“+” 或 “-” 符号,可以用来表示正数或者负数。

八进制用0~7表示,前面必须加上0;

十六进制用0~9和A~F表示,前面必须加上 0x;

如下:

$soct = 071; // 八进制数
$dec = 59; // 十进制数
$hex = 0x3b ; // 十六进制数

上面数字都是十进制中的59;

3、浮点型

浮点型可以用来保存浮点数或者整数,浮点数在程序中用来表示小数。在PHP中,通常由两种方式表示浮点数:标准格式和科学计数法格式。如下:

$fnuml = 1.759; // 标准
$fnum2 = -4.382  // 标准
$fnum3 = 3.14E5  // 科学计数法
$fnum4 = 7.469E-3; // 科学计数法

无论哪种格式,浮点数的有效位数都是14位。

4、字符串型

字符串是由连续的字母、数字或字符组成的字符序列。使用单引号或双引号包裹字符串;

echo "Hello world";

在PHP中 “.”是字符串的连接符,用于连接字符串、数字、变量或常量等。

echo 'Hello'.'world' // 输出结果:Helloworld

3.2 字符串解析

单引号字符串和双引号字符串是有区别的:

  • 单引号字符串:书写的变量名会原样输出
  • 双引号字符串:变量名会被解析成它的值

如下:

$name = 'Tome';
$area = "CHina";
echo $name . "from $area"; // 输出结果: Tom from China
echo $name . 'from $area'; // 输出结果: Tome from $area

在双引号字符串中,可能会出现变量名不确定的情况,用“{}”进行界定:

$ap = 'ma';
$apple = 'test';
echo "$apple";  // 输出结果: test
echo "{$ap}ple"; // 输出结果: maple

还饿可以使用转义字符,双引号也支持“\n”换行、 “\t”制表等转义字符的使用,单引号只支持“\”和“\\”。如下:

echo "嵌套\"双引号\""; // 嵌套"双引号"
echo "嵌套\'单引号\'"; // 嵌套\'单引号\'

3.3 数据类型检测

 使用 var_dump() 输出来查看变量的数据类型,如下:

$a = 1;
var_dump($a); // 输出结果: int(1)
$a = $a + 2.0;
var_dump($a);  // 输出结果: float(3)

PHP 提供了一组 is_*() 的内置函数,括号里是要检测的值:

函数名称功能描述
is_bool() 检测变量是否是布尔型
is_a() 如果对象属于该类或该类是此对象的父类则返回 TRUE
is_array()检测变量是否是数组
is_callable()检测参数是否为合法的可调用结构
is_dir() 判断给定文件名是否是一个目录
is_double() is_float() 的别名
is_float() 检测变量是否是浮点型
is_file判断给定文件名是否为一个正常的文件
is_int()检测变量是否是整数
is_null()检测变量是否为 NULL
is_numeric()检测变量是否为数字或数字字符串
is_object()检测变量是否是一个对象
is_string()检测变量是否是字符串
is_resource()检测是否为资源

例如:

var_dump(is_bool("1")); // bool(false)

3.4 强制类型转换

强制类型功能描述强制类型功能描述
(boolean)转换为布尔型(float)转换为浮点型
(string)转换为字符串型(array)转为数组
(integer)转换为整型(object)转换为对象

例如:

var_dump((boolean)-5.9);

4、运算符

        运算符是用来对数据、变量和常量进行计算的符号。

4.1 算术运算符

PHP中的算数运算符其实与大多数编程语言的算数运算符是一样的;

运算符作用范例结果
+echo 5 + 5;10
-echo 6 - 4;2
*echo 3 * 4;12
/echo 5 / 5;1
%取模(即算术中的取余数)echo 7 % 5;2

使用过程中应当注意一下几点:

  1. 应当遵循数学中的“先乘除, 后加减” 的原则;
  2. 取模运算时,运算结果的正负取决于被模数( % 左边的数字)的符号,与模数( % 右边的数字无关)。 如 : (-11) % 4 = -3, 而 8 % (-7) = 1;

4.2赋值运算符

赋值运算符是一个二元运算符,有两个操作数,用来把赋值运算符右边的值赋值给左边的变量;

需要注意的是, “=”表示赋值,而并非数学上的相等;

4.3错误抑制运算符

PHP中有一个比较特殊的运算符,错误抑制运算符;

在可能出现错误的代码前使用,不会直接将错误显示给用户;

$num1 = 10 / 0; //报错: Fatal error: Uncaught DivisionByZeroError: Division by zero in 
$num2 = @(10 / 0);

4.4 比较运算符

"===" 和 "!==" 在进行比较时,不仅会比较数值是否相等,还会比较数据类型是否相等

4.5合并运算符

用于简单的数据存在性判定:

<条件表达式> ?? <表达式>

先求第一个  条件表达式  的值是否存在,如果存在则返回 条件表达式 的值;如果 条件表达式 的值不存在,则返回 表达式 的值

例子:

$age = $age ?? 10;

返回结果为:

10

4.6三元运算符

<条件表达式> ? <表达式1> : <表达式2>
<?php

$age = 19 ? '18' : '19';
echo $age;  // 返回结果为 18;
?>   

4.7逻辑运算符

是非常基础的的 与 或 非 的概念。

5、流程控制

if语句

单分支语句

if (判断条件) {
    //代码段

}

比如:

if ($a > $b){

    echo "$a 大于 $b";
}

我们可以这样理解:

if  理解为如果,如果$a > $b 那么就会输入一下代码......

if ..... else语句

双分支语句

if (判断条件0) {
    //代码段1

}else if (判断条件1){
 //代码段2
}else{
    //代码段3
}

switch语句

switch (表达式){
    case 值1:
        break;
    case 值2:
        break;
    ...
    default:
        代码段n;
}

举一个小例子,很容易就懂了:

<?php
$jjlong = 20;
switch ($jjlong){
    case 10:
        echo '10cm勉勉强强啦';
        break;
    case 20:
        echo "20??快跟我的差不多了";
        break;
    default:
        echo '你永远也企及不到我的30cm';
}
?>

输出结果是:

20??快跟我的差不多了

6、循环结构

PHP循环语句有while和do....while实质上就是设置循环条件然后执行循环体。

6.1 while

while(循环条件){
    // 循环体
    
}

意思就是如果 循环条件 为 真,则执行 循环体 的内容。

比如

while(true){
    echo "Hello World";

}

你可以去执行一下这串代码,在网页中看看;

6.2 do....while

do{
    执行语句;

}while (循环条件);

就是先执行一遍循环体里的内容,在来判断是否还需要执行。

------------

本章到此结束

希望能帮助到你!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值