前言:

PHP是一门解释性弱类型的高级编程语言,自诞生以来就一直秉着大道至简,一切从易的原则。所以PHP对于编程入门来说,是一门十分容易上手且能很快投入开发工作中的编程语言。也正因为如此,导致PHP的从业者们良莠不齐,也就产生了“PHP是世界上最好的语言”的调侃。

基础语法

文件格式

PHP的代码文件是以 .php 结尾的,如 test.php

代码区声明

PHP的代码是有一对<?php 和 ?> 包围起来的,即:

<?phpecho "hello world\n";
?>

提示:?> 尾标签可以忽略不写,不影响程序执行。头标签必须写!

输出方式

PHP主要有两个输出语法:echo 与 print。

echo 和 print 区别:

  1. echo - 可以输出一个或多个字符串
  2. print - 只允许输出一个字符串,返回值总为 1

提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

例:

<?phpecho "hello world\n";print "hello world\n";

输出结果:

变量

介绍

变量其实可以理解为是一个代数,类似我们从小学习的方程式。例:x + y = 3; x = 1;求y?

在计算机编程语言中,变量是用于存储信息的“容器”;

变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 man girl tom)。

PHP 变量规则:

  1. 变量以 $ 符号开始,后面跟着变量的名称
  2. 变量名必须以字母或者下划线字符开始
  3. 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  4. 变量名不能包含空格
  5. 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

注意:PHP的变量是区分大小写的!

变量使用

因为PHP弱类型语言的特性,在声明使用变量时,我们无需关注即将要声明的变量的类型。将我们想要存储的数据直接声明并赋值给变量,PHP会自动解析变量类型。而在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。

例:

<?php$a = 1; // 整型$f = 1.0; // 浮点型$boolean = true; // 布尔型$string1 = 'hello'; // 字符串 $string2 = "hello";$array = [1,2,3,4,5,6,7,8,9,10,11]; // 数组$test = null; // null型

注意:代码片段中的 // 为注释标签,不影响程序运行。相同的还有 /** **/

变量作用域

在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问。

<?php$a = 1; //全局变量function test() {$b = 2; // 局部变量global $a; //通过global关键字来访问全局变量echo "函数内部使用局部变量是 {$b}\n";echo "函数内部使用全局变量是 {$a}\n";
}test(); //运行函数
echo "函数外部使用局部变量是 {$b}\n";
echo "函数外部使用全局变量是 {$a}\n";

运行结果:

可以看出,在函数外部去访问函数内部创建的变量$b时,程序代码会报错提示未定义的变量$b,但访问$a不会报错。

注意:你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。

Global关键字

global 关键字用于函数内访问全局变量。

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字。

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

<?php$x = 15;$y = 101;
function test()
{$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
test();
echo $y;

运行结果:

Static 关键字

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。这时我们就可以使用static关键字,不过由static声明的局部变量始终还是局部变量,并不能在函数外部进行访问。相较于没有static的局部变量而言,只是不会在函数完成后被删除而已。

例:

<?phpfunction test() {static $a = 0;$a = $a + 1;echo $a."\n";
}
test();
test();
test();
test();

输出结果:

我们可以看到当我们执行四次test()函数,static(静态)变量$a也就累加了四次。静态变量$a在每次test()函数执行完后都没有被删除,而是继续存在,当我们再次调用test()函数时,PHP就会取出静态变量$a用于函数内部的执行。

那如果我们去掉static会是怎么样呢?

例:

<?phpfunction test() {$a = 0;$a = $a + 1;echo $a."\n";
}
test();
test();
test();
test();

输出结果:

可以看出,当我们去除static关键字后,test()函数的每次执行都是一次“崭新”的执行。变量$a在每次执行开始时都会重新创建,执行结束后又被删除,并不会像静态变量那样继续留存在内存中。

总结

关于PHP的基础语法与变量的声明和使用,我们就学完了。基于弱类型语言的特点,我们在PHP中使用变量时无需像在C语言JAVA语言以及Go语言这类强类型编程语言中那样去关注变量的数据类型;PHP会根据我们的赋值自动推导出变量类型;这也就代表着有着相同变量名的变量可以相互覆盖声明而不报错,在我们编程过程中需要避免这种重复覆盖声明使用的情况。

<?php$a = 1;$a = "hello";echo $a; //我们之前声明的变量a就被后面声明的同名变量所覆盖

运行结果:

【PHP8入门指南】基础语法与变量相关推荐

  1. Python基础入门_2基础语法和变量类型

    Python 基础入门系列第二篇,上一篇简单介绍了为什么用 Python,以及安装和配置环境. 这一篇将先介绍基础的语法,包括标识符,即变量名字,然后 Python 特色的缩进规则,注释.保留字等等, ...

  2. python输入一个整数和一个字符_【python零基础入门】基础语法之变量、字符串、数字、规则。...

    本文使用版本python3.8.1,编辑器pycharm. 学习指导书<Python编程--从入门到实践> 1.万恶之首"Hello world" 输入: print( ...

  3. 【JAVA学习】1、零基础入门Java 基础语法:概念、规则、格式

    [JAVA学习]1.零基础入门Java 基础语法 前言 JAVA开发环境选择 Java 基础概念 Java 标识符 Java修饰符 基础代码模板框架 命名规则 基础规则 后端开发规则 代码格式 前言 ...

  4. python变量类型-【干货】Python基础语法之变量类型

    原标题:[干货]Python基础语法之变量类型 还没关注? 01 Python编码 Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错. 解决 ...

  5. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)...

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  6. python基础语法和变量

    基础语法和变量 1.常见快捷键 # ctr + / - 添加/取消注释 # ctr + s - 保存 # ctr + c - 复制.拷贝 # ctr + v - 粘贴 # ctr + x - 剪切 # ...

  7. 基础语法和变量day2学习内容

    基础语法和变量 内容: --------基础语法 --------print函数的使用 --------变量 --------数学运算符 --------比较运算符 一.基础语法 注释 单行注释 多行 ...

  8. day02——基础语法与变量

    day02--基础语法与变量 01firstBlood 常用快捷键 如: ctrl + / - 添加或者取消注释 ctrl + c - 复制 ctrl + v - 粘贴 ctrl + a - 全选 c ...

  9. Python Day1 基础语法和变量【零基础】

    文章目录 Day1 基础语法和变量 1. 常用的快捷键 2. 基础语法 2.1 注释 2.2 行和缩进 2.3 基本数据的数据类型 2.4 相关工具 2.5 标识符和关键字 3. 输出函数 3.1 一 ...

  10. day02基础语法和变量

    DAY02基础语法和变量 一. 基础语法 1.注释 注释就是代码中不会被翻译成机器码的部分(不参与编译执行的部分),注释的存在不会影响程序的功能.让一个代码消失,是注释代码,不要删除代码. 变绿是字符 ...

最新文章

  1. php中OR与|| AND与的区别
  2. 如何设计一个 iOS 控件?(iOS 控件完全解析)
  3. node--静态服务器
  4. python算法与程序设计基础第二版-算法与程序设计基础(Python版) - 吴萍
  5. PC 上访问设备数据库的方法
  6. linux下打开、关闭tomcat,实时查看tomcat运行日志
  7. mysql核心技术分析_深入理解MySQL核心技术
  8. html div 监听事件无效,在AngularJS中将html替换为div后,Click事件不起作用
  9. Go语言:基础数据类型
  10. linux下导入mysql数据库命令
  11. php文件上传显示没有默认值,WordPress上传文件提示“文件是空的。请上传有内容的文件。这个错误…”...
  12. 【音频】I2S协议时序及使用粗解
  13. Error: package or namespace load failed for ‘utils’ in dyn.load(file, DLLpath = DLLpath, ...): unab
  14. 40个笑到抽筋的神回复,哈哈哈哈哈...
  15. imap接收邮件服务器,配置 Outlook 从 IMAP 服务器接收邮件
  16. 手把手学会gitbub(4)
  17. 本地文件打开不支持ajax,我读本地文件时,Ajax无法正常工作
  18. 计算机网络微课笔记03
  19. flutter的坑.dart1与dart2写法的区别
  20. 0xc0000225无法进系统_系统重装|电脑无法开机蓝屏错误代码0xc0000225故障问题

热门文章

  1. php计算距离商家距离,php 计算3公里内所以用户的距离
  2. 超融合服务器虚拟化优缺点,超融合产品,服务器虚拟化,桌面虚拟化-路坦力-smartx...
  3. 单元测试1-为什么需要单元测试
  4. 手机数据连接接入(外网)访问xampp
  5. 使用外网访问Flask项目
  6. islower,isalnum,isalpha,tolower,isdigit等c++对ascii字符的处理判断
  7. 单片机的串口实验 串口介绍 串口原理
  8. C++通信录管理系统
  9. Star CCM+ 2206安装
  10. 如何在 MAC 电脑上查找 IP 地址