PHP中的变量

news/2024/11/25 2:28:22/

6304791419c3d12f8a56a377d5fef2b2.jpeg

PHP中变量是用于储存信息的容器,我们命令服务器去干活的时候,往往需要产生一些数据,需要临时性存放起来,方便取用赋值方法与数学中的代数相类似

1、在PHP中变量是用于储存信息的容器,类似于数学中的集合

2、赋值方法与数学中的代数相类似

变量是用于存储值的,我们命令服务器去干活的时候,往往需要产生一些数据,需要临时性存放起来,方便取用。

我们也可以理解为,变量就像一个购物袋,我们可以用来装苹果、榴莲(当然也可以用来装玫瑰)

需要注意的是,一般情况下一个变量只能装一个(不要太贪心)值,除非是复合变量(后面变量类型时会介绍,比如:数组,对象就是复合型的)

当我们放进去一个苹果后,再放进榴莲的时候,苹果就被替换掉,再放入香蕉,那么榴莲就被替换了

变量是用于存储信息的”容器

我们在PHP中的变量也是如此。有几个特点:

  1. 必须要以$开始。后面跟着变量的名称,如变量x必须要写成$x

  2. 变量的首字母不能以数字开始

  3. 变量的名字区分大小写($y,和$Y是两个不同的变量),变量名不能包含空格

  4. 变量不要用特殊符号、中文,_不算特殊符号

  5. 变量命名要有意义(别写xxxaaaccc这种 变量名)

  6. 变量名只能包含字母数字字符以及下划线(A-A,0-9_),不能以数字开始,但是数字可以夹在变量名中间和结尾

  7. PHP没有声明变量的命令,变量在你第一次赋值给它的时候就被创建了的

错误:变量以数字开始

<?php$123 = 345?>

错误:变量当中有特殊字符,中文

<?php// $a*d = 345
//$中国=345?>

错误:变量名没有意义aaa,容易输错,也没有含义

<?php$aaaa = 345;
?>

错误:变量严格区分大小写 $dog$DogPHP学院的变量,尝试将$dog的值改为8.结果D写成了大写

<?php$dog = 5;//重新修改$dog的值,将$dog改为8$Dog = 8;
?>

PHP是一门弱类型语言

不必向PHP声明该变量的数据类型,PHP会根据变量的值,自动把变量转换为正确的数据类型

PHP变量作用域

变量的作用域是脚本中的变量可被引用,使用的部门

PHP有四种不同的变量作用域

  • local

  • global

  • static

  • parameter

局部作用域与全局作用域

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

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

<?php $x=5; // 全局变量 function myTest() { $y=10; // 局部变量 echo "<p>测试函数内变量:<p>"; echo "变量 x 为: $x"; echo "<br>"; echo "变量 y 为: $y"; }  myTest(); echo "<p>测试函数外变量:<p>"; 
echo "变量 x 为: $x"; 
echo "<br>"; 
echo "变量 y 为: $y"; 
?>

在以上实例中 myTest() 函数定义了 $x$y 变量。$x 变量在函数外声明,所以它是全局变量 , $y变量在函数内声明所以它是局部变量。

当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global关键字。

然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量 $x的值,但是不能输出 $y的值,因为 $y 变量在函数中定义,属于局部变量

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

global 关键字

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

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

<?php$x=5;$y=10;function myTest()
{global $x,$y;$y=$x+$y;
}myTest();
echo $y; 
?>

static作用域

当一个函数完成时,它的所有变量通常都会被删除,然而,有时,你希望某个局部变量不要被删除

要做到这一点,在第一次声明变量时使用static关键字

<?phpfunction myTest() {static $x = 0;echo $x;$x++;}myTest(); // 0myTest(); // 1myTest(); // 2
?>

每次调用该函数时,该变量将会保留着函数前一次被调用时的值,需要注意的是,该变量仍然是局部变量

如果变量$x去掉static,你会发现,每次都是0,0,0,并不会保留上一次的值

参数作用域

参数是通过调用代码将值传递给函数的局部变量,参数是在参数列表中声明的,作为函数声明的一部分

<?phpfunction myTest($x){echo $x;}myTest(5);?>

8460ecee5cbf91b5306eabe7ca117d51.png

9b4a8456416ea2f67c913fb590ad5041.jpeg

7e2f17cbde7b08e5cd41f334cfcb198d.png

2e5c57f3571170e591598c6ce3a6c9f3.png


http://www.ppmy.cn/news/741461.html

相关文章

Redis10大性能优化策略(下)

1.慢查询优化 1&#xff09;尽量不使用 O(N) 以上复杂度过高的命令&#xff0c;对于数据的聚合操作&#xff0c;放在客户端做。 2&#xff09;执行 O(N) 命令&#xff0c;保证 N 尽量的小&#xff08;推荐 N < 300&#xff09;&#xff0c;每次获取尽量少的数据&#xff0c…

三星Note3使用技巧之S搜索功能如何使用

本文介绍三星Note3 S搜索功能的使用技巧&#xff0c;即Galaxy Note3如何使用S搜索功能。N9006、N9008、N9002、N9009等版本机器都可参考本教程。三星Note3的S搜索功能不仅可以查找手机中的内容&#xff0c;在没有查找到该关键词的时候还可以联网搜索。下面就是该功能的具体操作…

三星Note3 S搜索功能如何使用

我们现在说一下三星Note3 S搜索功能的使用技巧&#xff0c;即Galaxy Note3如何使用S搜索功能。N9006、N9008、N9002、N9009等版本机器都可参考本教程。三星Note3的S搜索功能不仅可以查找手机中的内容&#xff0c;在没有查找到该关键词的时候还可以联网搜索。下面就是该功能的具…

三星手机总是电量不够,这4个功能一定要设置,不然越来越耗电

现在大家拿起手机几乎都是刷短视频&#xff0c;玩游戏&#xff0c;聊微信。不过这些应用在手机中几乎都是大型应用&#xff0c;使用没多久手机就会出现电量不足的警告。有的朋友要一天两充才可以让手机保持续航&#xff0c;其实在手机中想要手机整天电量满满&#xff0c;只需要…

查找。。。

要求 编写程序&#xff0c;按升序排列。再输入一个数&#xff0c;要求找出该数是数组中的第几个元素&#xff0c;如果不在数组中&#xff0c;则输出找不到。 代码 #include<stdio.h>int main(){int a[11],x;int i;for(i0;i<10;i)scanf("%d",&a[i]);sc…

蓝牙设备的查找

蓝牙设备的查找与绑定 查找蓝牙设备 查找蓝牙设备分为两个部分&#xff0c;第一个是已经绑定的设备&#xff0c;第二个是搜素新的蓝牙设备。对于已经绑定的蓝牙设备来说&#xff0c;通过BluetoothAdapter的getBondedDevices()方法获得&#xff0c;此方法返回的是一个集合Set&…

Packet Tracer – 研究 NAT 操作

Packet Tracer – 研究 NAT 操作 目标 第 1 部分&#xff1a;通过内联网研究 NAT 操作 第 2 部分&#xff1a;研究互联网中的 NAT 操作 第 3 部分&#xff1a;执行进一步研究 拓扑图 场景 帧通过网络时&#xff0c;MAC 地址可能更改。 当数据包由配置了 NAT 的设备转发时&…

三星手机 Samsung Galaxy S3 无法复制粘贴的不完美解决方法

问题简单描述 从上周开始我的Samsung Galaxy S3手机就无法实现复制粘贴功能了&#xff0c;每次复制时都提示复制到了剪贴板&#xff0c;但是粘贴时就会发现根本粘贴不了&#xff0c;无法打开剪贴板。真的是莫明其妙啊&#xff0c;我的手机没有Root过&#xff0c;从买回来之后已…