【PHP】基础语法变量常量

文章目录

  • PHP简介
  • 前置知识了解
    • 静态网站的特点
    • 动态网站特点
  • PHP基础语法
    • 代码标记
    • 注释
    • 语句分隔(结束)符
    • 变量
      • 变量的基本概念
      • 变量的使用
      • 变量命名规则
      • 预定义变量
      • 可变变量
      • 变量传值
      • 内存分区
    • 常量
      • 基本概念
      • 常量定义形式
      • 命名规则
      • 使用形式
      • 系统常量
      • 魔术常量

PHP简介

PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,而且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页

前置知识了解

静态网站的特点

1.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;

2.静态网页的内容相对稳定,因此容易被搜索引擎检索;

3.静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;

4.静态网页的交互性较差,在功能方面有较大的限制。


动态网站特点

1.交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后Web发展的潮流。

2.自动更新:即无须手动更新HTML文档,便会自动生成新页面,可以大大节省工作量。

3.因时因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面。

此外动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。在动态网页网址中有一个标志性的符号——“?”


PHP基础语法

首先:PHP是一种运行在服务器端的脚本语言,可以嵌入到HTML中

为了防止显示中文出现乱码,建议加上下面的这句话

//处理脚本让浏览器按照指定字符集解析的方法
header('Content-type:text/html;charset=utf-8');

代码标记

在PHP历史发展中,可以使用多种标记来区分PHP脚本

  • ASP标记:<% php代码 %>
  • 短标记:<? Php代码 ?>

以上两种基本弃用,更加常用的标志是:<?php php代码?>

image-20230731095213555


注释

PHP中注释分为两种:行注释和块注释

  • 行注释:一次注释一行 。写法1:# 写法2://
  • 块注释:一次注释多行 /* 中间直到*/出现之前,全部都是注释 */

语句分隔(结束)符

在PHP中,代码是以行为单位,系统需要通过判断行的结束,该结束通常都是一个符号分号;

特殊说明:

1.PHP中标记结束符?>有自带语句结束符的效果,最后一行PHP代码可以没有语句结束符

<?phpecho "hello I am Mango ! PHP yyds!";echo "我可以没有分号"
?>   

2.PHP中其实很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯中就不建议使用标记结束符?>,PHP会自动从开始到最后全部认为是PHP代码,从而解析

<?phpecho "hello I am Mango ! PHP yyds!";echo "hello world";

变量

变量的基本概念

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的

1.变量是用来存储数据的

2.变量是存在名字的

3.变量是通过名字来访问的(数据)

4.变量是可以改变的(数据)

变量的使用

PHP中的所有变量都必须使用“$”符号

1.定义:在系统中增加对应的变量名字(内存)

2.赋值:可以将数据赋值给变量名(可以在定义的同时完成)

3.可以通过变量名访问存储的数据

4.可以将变量从内存中删除

image-20230731101054100


变量命名规则

1.在PHP中变量名字必须以“$”符号开始;

2.名字由字母、数字和下划线“_”构成,但是不能以数字开头;

3.在PHP中本身还允许中文变量(不建议)

$1var;//err    
$中国 = 'China'; #中文变量 ok

预定义变量

预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量本质是数组)

  • $_GET:获取所有表单以get方式提交的数据
  • $_POST:POST提交的数据都会保存在此
  • $_REQUEST:GET和POST提交的都会保存
  • $GLOBALS:PHP中所有的全局变量
  • $_SERVER:服务器信息
  • $_SESSION:session会话数据
  • $_COOKIE:cookie会话数据

例子:

image-20230731101624474


可变变量

可变变量:如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个$符号

$a = 'b';
$b = 'I am b';
echo $$a;   # $$a == > $b ==> 'I am b'
  • 1.先找到$a,解析出结果为b
  • 2.将前面的$符号和b进行绑定,就是$b,然后输出

变量传值

将一个变量赋值给另外一个变量:变量传值

  • 变量传值一共有两种方式:值传递,引用传递

值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)

例子:

<?php$a = 1;$b = $a; //值传递$b = 2;echo $a,'<hr/>',$b; //输出1,2

image-20230731102045621


引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)

  • $新变量 = &$老变量
<?php$a = 1;$b = &$a; //值传递$b = 2;echo $a,'<hr/>',$b; //输出2,2

image-20230731102127858


内存分区

在内存中,通常有以下几个分区

栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快

代码段:存储程序的内存部分(不执行)

数据段:存储普通数据(全局区和静态区)

堆区:存储复杂数据,大但是效率低


常量

基本概念

常量与变量一样,都是用来保存数据的。

常量:const/constant,是一种在程序运行当中,不可改变的量(数据)。常量一旦定义,通常数据不可改变(用户级别)

常量定义形式

在PHP中常量有两种定义方式(5.3之后才有两种)

  • 1.使用定义常量的函数:define(‘常量名’,常量值);
  • 2.5.3版本之后才有的:const 常量名 = 值;
define('PI',3.14);
const PII = 3.14;

命名规则

1.常量不需要使用“$”符号,一旦使用系统就会认为是变量;

2.常量的名字组成由字母、数字和下划线组成,不能以数字开头;

3.常量的名字通常是以大写字母为主(与变量以示区别);

4.常量命名的规则比变量要松散,可以使用一些特殊字符,该方式只能使用define定义;

image-20230731102438245

细节:

1.define和const定义的常量是有区别:在于访问权限区别

2.定义常量通常不区分大小写,但是可以区分,可以参照define函数的第三个参数

image-20230731102701222

第一个参数规定常量的名称,也叫标识符

第二个参数规定常量的值,就是一个不希望被改变的标量数据类型的数据

第三个参数是可选参数,用来规定常量名是否区分大小写


使用形式

常量的使用与变量一样:不可改变值**(在定义的时候必须赋值)**。常量不需要使用“$”符号,一旦使用系统就会认为是变量

echo PI;
echo PII;

有的时候还需要使用另外一种形式来访问(针对的是特殊名字的常量),需要用到另外一个访问常量的函数:constant(‘常量名’)

<?phpdefine('-_-','smile');//echo  '-_-';// 特殊符号不能直接使用echo constant('-_-');
?>

说明:常量和变量的使用

1.凡是数据会可能变化的,那么肯定是用变量

2.数据不一定会变的,可以使用常量或者变量(变量居多)

3.数据不允许被修改的,一定用常量


系统常量

系统常量:系统帮助用户定义的常量,用户可以直接使用

常用的系统常量:

  • PHP_VERSION:PHP版本号
  • PHP_INT_SIZE:整形大小
  • PHP_INT_MAX:整形能表示的最大值(PHP中整形是允许出现负数:带符号)
echo '<hr/>',PHP_VERSION,'<hr/>',PHP_INT_SIZE,'<hr/>',PHP_INT_MAX;  #5.4.8  4   2147483647

魔术常量

在PHP中有一些特殊的常量,他们有双下划线开始+长两名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户不能改变

  • _DIR_:当前被执行的脚本所在电脑的绝对路径
  • _FILE_:当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)
  • _LINE_:当前所属的行数
  • __NAMESPACE__:当前所属的命名空间
  • __CLASS__:当前所属的类__
  • _METHOD_:当前所属的方法
  • __FUNCTION__:当前函数的名字

image-20230731140030853

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

03ShardingSphere-JDBC读写分离

背景 面对日益增加的系统访问量&#xff0c;数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说&#xff0c;将数据库拆分为主库和从库&#xff0c;主库负责处理事务性的增删改操作&#xff0c;从库负责处理查询操作&#xff0c;能够…

resource doesn‘t have a corresponding Go package.

resource doesnt have a corresponding Go package. GO这个鬼东西不能直接放src下。 ************ Building Go project: ProjectGoTest ************with GOPATH: D:\Go;D:\eclipse-jee-oxygen-2-win32-x86_64\workspace\ProjectGoTest >> Running: D:\Go\bin\go.exe …

爱校对发布全新PDF校对工具,为用户带来更为便捷的校正体验

随着数字化文档使用的普及&#xff0c;PDF格式已经成为最为广泛使用的文件格式之一。为满足广大用户对于高效、准确PDF文档校对的需求&#xff0c;爱校对团队经过深入研发&#xff0c;正式推出全新的PDF校对工具&#xff01; 这一全新工具针对PDF文件格式进行了深度优化&#…

k8s 常用命令(四)

12、删除pod中的nginx服务及service [rootmaster ~]# kubectl delete deployment nginx -n kube-public [rootmaster ~]# kubectl delete svc -n kube-public nginx-service 13、查看endpoint的信息 [rootmaster ~]# kubectl get endpoints 14、修改/更新&#xff08;镜像、…

机器学习十大算法之七——随机森林

0 引言 集成学习&#xff08;ensemble learning&#xff09;是时下非常流行的机器学习算法&#xff0c;它本身不是一个单独的机器学习算法&#xff0c;而是通过在数据上构建多个横型&#xff0c;集成所有模型的建模结果&#xff0c;基本上所有的机器学习领域都可以看到集成学习…

11.redis持久化

1.redis持久化 Redis的所有数据都是保存在内存中&#xff0c;因此redis重启后数据就丢失了&#xff0c;所以需要不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”)&#xff1b;或者把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。 …

Python遥感图像处理应用篇037 GDAL+Scikit-image遥感图像主成分分析PCA

1.计算效果图 使用多波段遥感图像进行主成分分析,这里使用了6个波段的数据计算和显示效果图如下:左边是原图像IR+R+G显示图,右边是计算得到的3个主成分组合显示的RGB图像。 2.计算方法详解 使用GDAL库读取和保存遥感图像,使用numpy对图像数据进行相应的变换和计算,使用…

IDEA创建Mybatis格式XML文件

设置位置&#xff1a;File | Settings | Editor | File and Code Templates 选择Files&#xff0c;点击号 Name中输入xml模板名&#xff08;名称自行决定&#xff09;&#xff0c;后缀名extension输入xml&#xff08;固定&#xff09; 内容处输入Mybatis的xml文件模板内容&…

javaWeb差缺补漏(二)【针对于自身知识点掌握情况】

javaweb 建立数据库连接 1、编写数据库建立连接工具类 public class JDBCUtils{private static DruidDataSource dataSource;static{try{Properties propertis new Properties();InputStream inputStream JDBCUtils.class.getClassLoader().getResourceAsStream(jdbc.prope…

【光学镀膜】-- USPM反射率、LAB

系列文章目录 文章目录 系列文章目录前言一、OLYMPUS(奥林巴斯)1.实现高速测定2.最适用于测定细小部件、镜片的反射率3.测定反射率时&#xff0c;不需要背面防反射处理4.可选择的膜厚测定方法 二、USPM-RU III1.介绍2.特点3.参数4.光源5.特长6.测定原理7.规格 三、USPM-W1.特征…

csdn冷知识:如何在csdn里输入公式或矩阵

目录 1 输入公式 2 输入矩阵 3 如何输入复杂公式 4 如何修改&#xff0c;已经生成的公式 1 输入公式 进入编辑模式点击右边的菜单&#xff1a;公式然后进入公式编辑器&#xff0c;选择右边的 ... 可以选择大括号等&#xff0c;右边还有矩阵符号选择后你需要创建几行几列的…

PL端案例开发手册

目 录 前 言 1 工程编译、程序加载方法 1.1 工程编译 1.2 程序加载 2 led-flash 2.1 案例说明 2.2 操作说明 2.3 关键代码 更多帮助 前 言 本文主要介绍PL端案例的使用说明&#xff0c;适用开发环境&#xff1a;Windows 7/10 64bit、Xilinx Unified 20…

Tomcat的安装与介绍

首先我们先了解一下什么是服务器&#xff1f;什么是服务器软件&#xff1f; 什么是服务器&#xff1f;安装了服务器软件的计算机。 什么是服务器软件&#xff1f; 服务器软件是一种运行在服务器操作系统上&#xff0c;用于接收和处理客户端请求&#xff0c;并提供相应服务和资…

PySide6学习笔记--gui小模版使用

一、界面绘制 1.desiner画图 2.画图代码 # -*- coding: utf-8 -*-################################################################################ ## Form generated from reading UI file t1gui.ui ## ## Created by: Qt User Interface Compiler version 6.5.2 ## ##…

第9天----【位运算进阶之----按位取反(~)】(附补码,原码讲解)

今天我们来谈谈按位取反这件事。 简单来说&#xff0c;按位取反就是先将一个数写成其二进制表达形式&#xff0c;然后1变0&#xff0c;0变1。下面就让我们展开深入地讨论吧&#xff01; 文章目录 一、预备知识&#xff1a;1. 原码&#xff1a;定义&#xff1a;优缺点&#xff…

Mac操作系统上设置和配置PPPoE连接

嗨&#xff0c;在使用Mac的小伙伴么&#xff01;你是否在Mac操作系统上尝试设置和配置PPPoE连接&#xff0c;却不知道怎么设置&#xff1f;别担心&#xff0c;今天我将为你一步步教你如何在Mac上进行设置和配置。无论你是新手还是有经验的用户&#xff0c;本文都将帮助你轻松完…

node.js 简单使用 开始

1.概要 问&#xff1a;体验一下node.js 看一下如何运行。 答&#xff1a;使用命令 node 文件名.js 2.举例 2.1 代码准备(main.js) console.log(第一行node.js代码); 2.2 运行效果

Qt 获取文件图标、类型 QFileIconProvider

Qt中获取系统图标、类型是通过QFileIconProvider来实现的&#xff0c;具体如下&#xff1a; 一、Qt获取系统文件图标1、获取文件夹图标QFileIconProvider icon_provider;QIcon icon icon_provider.icon(QFileIconProvider::Folder);2、获取指定文件图标QFileInfo file_info(n…

【JVM基础】JVM入门基础

目录 JVM的位置三种 JVMJVM体系结构类加载器双亲委派机制概念例子作用 沙箱安全机制组成沙箱的基本组件 NativeJNI&#xff1a;Java Native Interface&#xff08;本地方法接口&#xff09;Native Method Stack&#xff08;本地方法栈&#xff09; PC寄存器&#xff08;Program…

牛客python练习2

1 解析&#xff1a;赋值操作&#xff08;aXX,ba&#xff09;&#xff0c;a&#xff0c;b指向同一内存空间。当a,b是不可变类型时&#xff0c;a变&#xff0c;a 值变&#xff0c;id变&#xff0c;但是b不变&#xff0c;b的id也不变&#xff1b;当a,b是可变类型时&#xff0c;a变…