当前位置: 首页 > news >正文

PHP语法基础篇:变量与数据类型

"本文是PHP语法学习的第一篇,将聚焦最基础的三个部分:
  1. 基本语法结构:PHP文件格式、注释写法
  2. 变量使用:变量声明、命名规范、作用域初探
  3. 数据类型:整型、浮点型、字符串、布尔型等数据类型的特性和用法
通过代码示例,帮助零基础开发者快速建立PHP语法认知框架。"

目录

一、基本语法

1、文件格式

 2、注释

二、变量

1、变量的声明

2、变量的作用域

2.1、全局和局部作用域

2.2、global关键字

2.3、静态变量

三、数据类型

1、String 字符串 

2、Integer 整型 

3、Float 浮点型

4、Boolean 布尔类型

5、Array 数组

6、Object 对象

7、NULL

8、Resource 资源类型

9、更改数据类型 


一、基本语法

1、文件格式

PHP脚本在服务器上执行,并将纯HTML结果发送回浏览器,PHP脚本可以放置在文档中的任何位置。

PHP 脚本以 <?php 开头,以 ?> 结尾:

<?php
// PHP 代码写在这里
?>

PHP文件的默认文件扩展名是 ".php"。

PHP文件通常包含HTML标签和一些PHP脚本代码。

下面是一个简单的PHP文件示例,其中包含一段PHP脚本,该脚本使用内置的PHP函数 "echo"(该函数会在后续的文章中进行说明) 在网页上输出文本 "Hello World!":

<!DOCTYPE html>
<html><body><h1>My first PHP page</h1><?phpecho "Hello World!";?></body>
</html>

注意:PHP语句以英文分号 (;) 结尾。

页面输出如下图所示:

如果文件内容仅仅包含PHP代码,最好在文件末尾删除 PHP 结束标记。这可以避免在PHP结束标记之后万一意外加入了空格或者换行符,会导致PHP开始输出这些空白,而脚本中此时并无输出的意图。

<?php
echo "Hello world";// ... 更多代码echo "Last statement";// 脚本在此处结束,没有 PHP 结束标记

 2、注释

PHP支持C、C++和Unix Shell风格的注释,代码中注释的语法如下所示:

// 这是一个单行注释# 这也是一个单行注释/* 这是一个
多行注释 */

在注释的使用上选择你习惯的方式即可。由于我个人主要是做Java,所以我之后的文章单行注释会采用 // ,多行注释会使用 /* */,在此做一下说明。


二、变量

1、变量的声明

PHP中的变量用一个美元符号( $)后面跟变量名来表示。 变量名是区分大小写的
变量可以有一个简短的名称(如 $x 和 $y)或更具描述性的名称( $age$carname$total_volume)。
PHP 变量的命名规则:
  • 变量以 $ 符号开头,后跟变量变量名
  • 必须以字母或下划线字符开头
  • 变量名不能以数字开头
  • 变量名只能包含字母数字字符和下划线(A−z、0−9 和 _ )
  • 变量名区分大小写($age 和 $AGE 是两个不同的变量)

注意:PHP的变量是以 "$" 符号开头,这一点尤其要注意,因为在其它的编程语言中,如Java、C、Python中,变量是没有明确以特定符号作为开头的,所以这一点需要额外注意。

 变量声明示例:

$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var";      // 输出 "Bob, Joe"$4site = 'not yet';     // 非法变量名;以数字开头
$_4site = 'not yet';    // 合法变量名;以下划线开头
$i站点is = 'mansikka';  // 合法变量名;可以用中文

2、变量的作用域

变量的作用域即它定义的上下文背景(也就是它的生效范围,可被引用/使用的位置)。
PHP有三种不同的变量作用域:
  • local:局部变量
  • global:全局变量
  • static:静态变量

2.1、全局和局部作用域

在函数外部声明的变量具有全局作用域,并且只能在函数外部访问。这一点是需要注意的,因为在其它编程语言中,函数内部是可以访问全局变量的。

示例:

$x = 5; // 全局作用域function myTest() {// 在此函数中使用 x 将生成错误echo "<p>函数内的变量 x 是:$x</p>";
}
myTest();

页面显示:

可以看到,程序执行出错。错误信息显示:$x 变量是未定义的。通过这个示例展示了全局变量在函数内部是无法访问的。

在函数内部声明的变量具有局部作用域,并且只能在该函数内部访问。

function myTest() {$x = 5; // 局部作用域echo "<p>函数内的变量 x 是:$x</p>";
}
myTest();// 在函数外部使用 x 将生成错误
echo "<p>函数外的变量 x 是:$x</p>";

页面显示:

通过程序执行结果可以看到,局部变量在函数内部是可以访问到的,但是在函数外部就无法访问到了,并且会报错,显示的错误信息为变量未定义。 

2.2、global关键字

上文中说到,全局变量只能在函数外部声明和在函数外部访问,那么如果要在函数内部访问全局变量应该如何做呢?

global关键字用于从函数内部访问全局变量。使用方法也很简单,只需要在函数内部需要访问的全局变量前使用global关键字即可。

示例:

$x = 2;
$y = 5;function myTest() {global $x, $y; // $x,$y 为全局变量,如果要在内部函数中访问,则需要在变量前使用 global 关键字$y = $x * $y;
}myTest();
echo $y; // 输出 10

在函数内部除了使用global关键字访问全局变量外,还有一种方法可以用于在函数内访问全局变量,该方法就是使用 $GLOBALS[index] 数组。

PHP将所有全局变量存储在名为 $GLOBALS[index] 的数组中。index 保存变量的名称。该数组可以在函数内部访问,并且可以用于直接更新全局变量。

上面的示例可以改写为:

$x = 2;
$y = 5;function myTest() {$GLOBALS['y'] = $GLOBALS['x'] * $GLOBALS['y'];
}myTest();
echo $y; // 输出 10

2.3、静态变量

变量范围的另一个重要特性是静态变量。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。为此,请在首次声明变量时使用static关键字。

示例:

function test()
{static $a = 0;echo $a;$a++;
}test(); // 输出0
test(); // 输出1
test(); // 输出2

变量 $a 仅在第一次调用test()函数时被初始化,之后每次调用test()函数都会输出 $a 的值并加一。

注意:该变量仍然是函数的局部变量。


三、数据类型

PHP是动态类型语言,这意味着默认不需要指定变量的类型,因为会在运行时确定。PHP 支持以下数据类型:
  • 字符串(String)
  • 整型(Integer)
  • 浮点型(Float)
  • 布尔类型(Boolean)
  • 数组(Array)
  • 对象(Object)
  • NULL
  • 资源类型(Resource)
由于PHP是动态语言,所以在声明变量的时候不需要指定数据类型,如果要想知道变量的数据类型是什么,可以使用  var_dump() 函数来获取对象的数据类型。
示例:
$x = 5;
var_dump($x);

页面显示:

1、String 字符串 

一个字符串就是由一系列的字符组成,其中每个字符等同于一个字节。

字符串引号内可以包含任何文本,引号可以是单引号或双引号。

示例:

$x = "我是双引号内的字符串";
$y = '我是单引号内的字符串';echo $x;
echo "<br>";
echo $y;

如果字符串是包围在双引号(")中, PHP 将对以下特殊的字符进行解析:

2、Integer 整型 

整型数据类型是整数,范围在 -2,147,483,648 到 2,147,483,647 之间。可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。

要使用八进制表达,数字前必须加上 0(零)。 PHP 8.1.0 起,八进制表达也可以在前面加上 0o 或者 0O 。要使用十六进制表达,数字前必须加上 0x。要使用二进制表达,数字前必须加上 0b。

示例:

$a = 1234; // 十进制数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
$a = 0b11111111; // 二进制数字 (等于十进制 255)

3、Float 浮点型

浮点型(也叫浮点数 float,双精度数 double 或实数 real)可以用以下任一语法定义:

$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;

4、Boolean 布尔类型

布尔类型仅有两个值,用于表达真值,不是 true 就是 false

要指定一个布尔类型的值,使用常量 true false。两个都不区分大小写。

示例:

$foo = True; // 设置 $foo 为 TRUE

5、Array 数组

数组可以在单个变量中存储多个值。

在下面的示例中,$cars 是一个数组。(数组的内容后续会有专门的篇章进行详细说明)

$cars = array("奔驰","宝马","奥迪");

6、Object 对象

类和对象是面向对象编程的两个主要方面,该内容会在后续的面向对象篇章中进行详细说明。在此只需要知道对象是PHP中的一种数据类型即可。

7、NULL

NULL是一种特殊的数据类型,它只有一个值:NULL。数据类型为NULL的变量是没有为其分配值的变量。

提示:如果变量已创建但未赋值,它将自动被赋值为NULL。也可以通过将值设置为NULL来清空变量:

$x = "Hello world!";
var_dump($x);
$x = null;
var_dump($x);

8、Resource 资源类型

资源是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。这是官方文档中的解释,该数据类型是我在Java编程语言中不曾见过的,所以只看定义是不明白它是做什么的,而我现在也觉得没有必要花时间在该数据类型上面,所以决定先放置,以后用到了再说。如果阅读文章的您对该类型有了解的话,可以在评论区告诉我,在此表示感谢。

9、更改数据类型 

由于PHP是动态语言,所以我们可以随时改变变量的数据类型,只需要对该变量赋值不同数据类型的值就可以改变变量的数据类型。

示例:

$x = 5; // 此时变量 $x 为整型
var_dump($x);$x = "Hello"; // 此时变量 $x 的数据类型为字符串型
var_dump($x);

页面显示:

动手是掌握语法的捷径!本文介绍了PHP的变量声明与基础数据类型,建议在phpStudy中逐行测试文中代码。 

相关文章:

  • Smartbi双产品线功能更新:主动分析更省心,数据治理更高效
  • seo优化新利器:AI如何让内容批量生成与排名提升双管齐下?
  • 边缘计算如何重塑能源管理?从技术原理到应用场景全解析
  • ldkGUI如何添加自定义的字库
  • Android12 开机后桌面加载框的适配
  • Yakit 热加载入门学习指南
  • 纯血Harmony NETX 5小游戏实践:趣味三消游戏(附源文件)
  • 基于 Spring AI 的 MCP 客户端/服务端实现
  • 前端项目主题切换
  • 统计学习—有监督part
  • 数组方法_join()+_concat()+_reverse()+ _indexOf()
  • java大文件分段下载
  • 论数据分流部署模式
  • 组织结构图软件:数据驱动的可视化架构管理工具
  • UE5 读取配置文件
  • ue5.5 landscape paint模式下 layers出不来
  • [论文阅读] 算法 | 布谷鸟算法在声源定位中的应用研究
  • 布尔字段命名陷阱:避免序列化错误的关键
  • 个人网站图片托管存储桶迁移全记录
  • 【Qt】输入类控件 QLineEdit、QTextEdit、QComboBox、QSpinBox、QDateTimeEdit、QDial、QSlider
  • 深圳网站建设hi0755/模板建站哪个平台好
  • 网站建设的原则/个人发布信息的免费平台
  • 廊坊网站建设价格/网络推广工作内容怎么写
  • 新疆工程建设云平台/天津seo建站
  • 人工智能营销网站开发/网络营销制度课完整版
  • 昆明做网站建设找谁/域名申请