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

【PHP】PHP变量

1、变量介绍

PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,必须在使用变量前先声明(定义)变量的类型和名称。

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。
PHP 变量规则:

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

2、局部变量、全局变量、静态变量

局部变量: 局部变量是指在函数或方法内部定义的变量。它们只在该函数或方法的内部可见,其他函数或方法无法访问它们。当函数或方法被调用时,局部变量会创建并在该函数或方法的执行期间存在。一旦函数或方法执行结束,局部变量就会被销毁。
全局变量: 全局变量是指在所有函数和方法的外部定义的变量。它们在程序的整个范围内都是可见的,可以被任何函数或方法访问和修改。在函数或方法内部,可以使用 global 关键字来引用全局变量。
静态变量: 静态变量是指在函数或方法内部定义的变量,但具有静态存储期限。即使函数或方法被多次调用,静态变量的值也会保持不变。在函数或方法内部,可以使用 static 关键字来定义静态变量。

<?php
$x=5; // 全局变量
$s = 10;function testFunc()
{$y=10; // 局部变量echo "<p>测试函数内变量:<p>";echo "变量 x 为: $x";echo "<br>";global $x;echo "使用global关键字获取全局变量X:  $x";echo "<br>";echo "使用 \$GLOBALS数组获取全局变量s:$GLOBALS[s]";//PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。echo "<br>";echo "变量 y 为: $y";echo "<br>";} function testStaticFunc($num = 0){static $temp = 0;$temp++;echo "第$num 次static静态变量temp:$temp";echo "<br>";
}testFunc();echo "<p>静态变量测试:<p>";//静态变量测试1
testStaticFunc(1);//静态变量测试2
testStaticFunc(2);//静态变量测试3
testStaticFunc(3);echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";

相关文章:

【PHP】PHP变量

1、变量介绍 PHP 是一门弱类型语言&#xff0c;不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值&#xff0c;自动把变量转换为正确的数据类型。在强类型的编程语言中&#xff0c;必须在使用变量前先声明&#xff08;定义&#xff09;变量的类型和名称。 <?php $x5;…...

KVM创建虚拟机可访问外网+可使用Xshell等工具连接

创建虚拟机时使用桥接网络模块即可&#xff0c;如下&#xff1a; 1、创建一个存储卷(虚拟机的磁盘) 2、创建虚拟机时选择网络 3、系统安装完成后配置固定IP地址 vi /etc/sysconfig/network-scripts/ifcfg-eth0ONBOOTyes BOOTPROTOstatic IPADDR16.32.15.60 GATEWAY16.32.15.2…...

数据库——Redis 没有使用多线程?为什么不使用多线程?

文章目录 Redis6.0 之后为何引入了多线程&#xff1f; 虽然说 Redis 是单线程模型&#xff0c;但是&#xff0c; 实际上&#xff0c;Redis 在 4.0 之后的版本中就已经加入了对多线程的支持。 不过&#xff0c;Redis 4.0 增加的多线程主要是针对一些大键值对的删除操作的命令&a…...

Node.JS教程

文章目录 Node.JSNode.js学习指南一、Node.js基础1.认识Node.js2.开发环境搭建3. 模块、包、commonJS3.1、为什么要有模块化开发&#xff1f;3.2、CommonJS规范3.3、 modules模块化规范写法 4.Npm&Yarn4.1、npm使用4.2、全局安装nrm4.3、yarn使用 持续更新中总结 Node.JS N…...

mysql表锁死怎么办?事务锁sql超时被锁死怎么办?

不要慌&#xff01;不要慌&#xff01;两句命令教你做人 一、mysql表锁死 1、查询所有进程&#xff1a; SHOW PROCESSLIST; 2、找到进程号kill掉 kill 3269987 2、事务锁 sql超时被锁死 1、查询所有执行中的sql select t.*,to_seconds(now())-to_seconds(t.trx_started) id…...

基于JSP+Servlet+mysql学生宿舍管理系统

基于JSPServletmysql学生宿舍管理系统 一、系统介绍二、功能展示四、其它1.其他系统实现五.获取源码 一、系统介绍 项目类型&#xff1a;Java web项目 项目名称&#xff1a;基于JSPServlet的学生宿舍管理系统[sushe] 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java…...

Enabling Large Language Models to Generate Text with Citations

本文是LLM系列的文章&#xff0c;针对《Enabling Large Language Models to Generate Text with Citations》的翻译。 使大语言模型能够生成带有引用的文本 摘要1 引言2 任务设置和数据集3 自动评估4 建模5 实验6 人类评估7 相关工作8 结论不足 摘要 大型语言模型&#xff08…...

Qt Qml实现仪表盘动画

Qt Qml代码实现的仪表盘动画 效果&#xff1a; Qt Qml 仪表盘动画 Qt Qml 代码实现仪表盘动画 Qt Qml 仪表盘动画 部分Qml代码&#xff1a; import QtQuick 2.0Item {width: 2 * radiusheight: 2 * radiusrequired property double radiusproperty double airspeed: 0propert…...

一次PostgreSQL复杂jsonb数据矫正过程分享

背景介绍 想看干货直接看最后的总结&#xff0c;其他流水账可以不看&#xff0c;也可以当故事看。 7月底我司某产品因故需要拉齐现场版本&#xff0c;其中某地版本较低&#xff0c;且曾经做过一些定制内容&#xff0c;升级前也未识别该情况&#xff0c;导致后续持续一个月不断…...

如何在App里拉起小程序?

什么是小程序运行时框架&#xff1f; FinClip 的小程序编程模型是分为多个页面&#xff0c;每个页面有自己的 template、CSS 和 JS&#xff0c;实际在运行的时候&#xff0c;业务逻辑的 JS 代码是运行在独立的 JavaScript 引擎中&#xff0c;每个页面的 template 和 CSS 是运行…...

函数式编程-Stream流学习第二节-中间操作

1 Stream流概述 java8使用的是函数式编程模式,如同它的名字一样&#xff0c;它可以用来对集合或者数组进行链状流式操作&#xff0c;让我们更方便的对集合或者数组进行操作。 2 案例准备工作 我们首先创建2个类一个作家类&#xff0c;一个图书类 package com.stream.model;…...

SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具&#xff0c;包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单&#xff0c;可以在开发人员的电脑上跑。另外说明spring cloud是基…...

无涯教程-进程 - 组会话控制

在本章中&#xff0c;我们将熟悉进程组&#xff0c;会话和作业控制。 进程组(Process Groups ) - 进程组是一个或多个进程的集合&#xff0c;一个进程组由一个或多个共享相同进程组标识符(PGID)的进程组成。 会话(Sessions) - 它是各种进程组的集合。…...

tomcat高可用和nginx高可用

tomcat高可用和nginx高可用 小白教程&#xff0c;一看就会&#xff0c;一做就成。 1.什么是高可用&#xff1f; 高可用HA&#xff08;High Availability&#xff09;是分布式系统架构设计中必须考虑的因素之一&#xff0c;它通常是指&#xff0c;通过设计减少系统不能提供服务…...

关于ios Universal Links apple-app-site-association文件 Not Found的问题

1. 背景说明 1.1 Universal Links 是什么 Support Universal Links 里面有说到 Universal Links 是什么、注意点、以及如何配置的。简单来说就是 当您支持通用链接时&#xff0c;iOS 用户可以点击指向您网站的链接&#xff0c;并无缝重定向到您安装的应用程序 大白话就是说&am…...

Objectarx MFC 添加ListControl并控制显隐

最主要的是实现一个Button点击将下方的List显示出来&#xff0c;制作成抽屉式菜单工具。 这篇文章是想实现点击工具栏并控制List的显隐。 参照&#xff1a; MFC中实现一个控件的隐藏和显示 【MFC】判断控件是否为隐藏状态 MFC中查找构件使用ID进行控制&#xff0c;这个和WPF&a…...

2023年高教社杯数学建模思路 - 复盘:人力资源安排的最优化模型

文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 描述 …...

SpringMVC 第二天

第 1 章 ModelAttribute 和 SessionAttribute[ 应 用 ] 1.1ModelAttribute 1.1.1 使用说明 作用&#xff1a; 该注解是 SpringMVC4.3 版本以后新加入的。它可以用于修饰方法和参数。 出现在方法上&#xff0c;表示当前方法会在控制器的方法执行之前&#xff0c;先执行…...

抖音seo短视频矩阵系统源码开发源代码分享--开源-可二开

适用于抖音短视频seo矩阵系统&#xff0c;抖音矩阵系统源码&#xff0c;短视频seo矩阵系统源码&#xff0c;短视频矩阵源码开发&#xff0c;支持二次开发&#xff0c;开源定制&#xff0c;招商加盟SaaS研发等。 功能开发设计 1. AI视频批量剪辑&#xff08;文字转语音&#x…...

No message found under code ‘-1‘ for locale ‘zh_CN‘.

导出中的报错&#xff1a;No message found under code -1 for locale zh_CN. 报错原因&#xff1a;页面中展示的数据和后端excel中的数据不一致导致 具体原因&#xff1a;...

2026学生开发者指南:AI时代最值得掌握的10个Java+AI技能点

写在前面2026年的技术圈有个共识——AI Agent不是“会不会来”&#xff0c;而是“已经全面渗透”。但很多学生朋友问我&#xff1a;“我是Java背景&#xff0c;是不是必须转Python才能搞AI&#xff1f;”我的回答一直是&#xff1a;恰恰相反。当AI从“写脚本”走向“构建系统”…...

企业级应用通过Taotoken实现AI能力冗余与故障转移设计

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业级应用通过Taotoken实现AI能力冗余与故障转移设计 在构建依赖大模型API的企业级应用时&#xff0c;服务的连续性与稳定性是核心…...

XZ63C,18V输入,CMOS输出电压检测芯片

产品概述这系列芯片是使用 CMOS 技术开发的高精度、低功耗、小封装电压检测芯片。检测电压在小温度漂移的情况下保持极高的精度。输出配置是 CMOS 输出。产品特点● 封装&#xff1a;SOT23-3,TO92● 输出配置&#xff1a;CMOS● 工作电压&#xff1a;1.5V-18V …...

顶伯 + 微软 TTS 对比 Edge 浏览器自带 TTS,差距有多大?

付费 vs 免费&#xff1a;顶伯 微软 TTS 对比 Edge 浏览器自带 TTS&#xff0c;差距有多大&#xff1f;在文字转语音领域&#xff0c;微软 TTS 技术一直备受好评&#xff0c;但不同平台的实现方式却带来截然不同的体验。顶伯文字转语音工具深度整合了微软 TTS 引擎&#xff0c…...

为什么你的AI搜索总不准?2026年5款高精度免费工具底层架构拆解:向量引擎、重排序模块与Query理解差异全曝光

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么你的AI搜索总不准&#xff1f;——2026年免费高精度AI搜索工具全景洞察 AI搜索不准&#xff0c;根源常被误判为“模型不够大”&#xff0c;实则多源于查询理解失焦、上下文截断、知识新鲜度缺失与…...

如何通过 TaoToken CLI 快速安装配置多模型调用环境

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 如何通过 TaoToken CLI 快速安装配置多模型调用环境 对于希望快速接入多个大模型的开发者而言&#xff0c;逐一配置不同工具的 API…...

SpringBoot-Scan:面向红队的SpringBoot资产指纹与测绘工作流

1. 这不是又一个“SpringBoot漏洞扫描器”教程&#xff0c;而是一份真实红队队员的资产测绘工作流你有没有遇到过这样的情况&#xff1a;手头刚拿到一个目标域名&#xff0c;技术栈标注着“SpringBoot 2.7.x”&#xff0c;但连它到底跑在哪个端口、是否启用了Actuator、有没有暴…...

K12教师必读:用AI Agent 15分钟生成个性化学习路径(附可即用Prompt模板库)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;AI Agent教育应用的范式变革 传统教育系统长期依赖“教师讲授—学生听记—统一测评”的线性模式&#xff0c;而AI Agent的兴起正推动教育从标准化供给转向个性化协同时代。AI Agent不再仅是知识检索工具或自动…...

揭秘FPGA内部世界:PrjXRay开源工具完整指南

揭秘FPGA内部世界&#xff1a;PrjXRay开源工具完整指南 【免费下载链接】prjxray Documenting the Xilinx 7-series bit-stream format. 项目地址: https://gitcode.com/gh_mirrors/pr/prjxray 你是否曾好奇FPGA芯片内部的神秘世界&#xff1f;那些二进制位流背后究竟隐…...

GD32F103RCT6串口调试避坑指南:从寄存器配置到DMA收发实战(附代码)

GD32F103RCT6串口调试避坑指南&#xff1a;从寄存器配置到DMA收发实战 第一次接触GD32的串口开发时&#xff0c;我对着电脑屏幕上乱码的数据抓耳挠腮——明明按照手册配置了115200波特率&#xff0c;为什么收到的全是"天书"&#xff1f;后来才发现是时钟树配置的问题…...