(三)PHP学习笔记————基本语法:变量

创建变量

PHP没有创建变量的命令,它会在首次赋值时被创建,并且自动转换成正确的数据类型。

PHP命名规则:

  1. 变量以$符号开头,其后是变量的名称。
  2. 变量名称必须以下划线和字母开头。
  3. 变量名称只能包含字母字符和下划线。(A-z、0-9、以及 _)
  4. 变量名称区分大小写($S和$s不是同一个变量)

PHP变量作用域

  1. local(局部)
  2. global(全局)
  3. static(静态)

LOCAL 作用域和Global作用域

函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。

函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。

举一个中二的例子增进大家的了解。

<?php
       $a=1;  //全局作用域,即a是女神
       function test(){
           $b=2;//局部作用域,b是loser
           echo $a;    //现在函数里面输出变量a等于loser想找女神,但是女神跟你不是一个世界的,所以值输出为空,做梦吧!loser
                       
           echo "<br>";//换行
           echo $b;    //值为2--没有变化,还是一个人该干嘛干嘛。
           echo "<br>";
           
       }
       
       test();
       echo  $a;  //值为1,不变---时光流转,女神被高富帅抛弃了还是一个人
       echo "<br>";
       echo  $b;  //在函数外部输出函数内的变量b,输出为空--女神被抛弃了回来找loser,loser说当我傻逼啊肚子里的孩子不是我的,所以输出也为空。
       echo "<br>";
       echo "上面一行是空的!"
?>

global关键词

结合上面那个例子来讲,它的作用是让loser(局部变量b)逆袭女神(全局变量a)的法宝——成为高富帅

既用于访问函数内的全局变量

  <?php
      $a=1;  //全局变量
       function test(){
           global $b;//定义变量b为全局变量---loser变成高富帅
           $b=2;      
       }
       
       test();
       echo  $a;  //值为1
       echo "<br>";
       echo  $b;  //值为2--在函数外输出变量b不为空--既现在高富帅和女神的想怎么瞎搞就怎么瞎搞
 ?>

static关键词

一般来讲,函数执行完成后会删除所有局部变量---既高富帅上了女神就会甩掉

但是,有时候我需要不删除某个局部变量----也不排除快快乐乐的生活在一起

  <?php
       function test(){
           static $b=0;//定义变量b为静态变量
           echo $b;
           $b++;
       }
       
       test();//值为0
       test();//值为1
       test();//值为2
 ?>

大家可以去掉static体会一下它的作用。。。

时间: 2024-12-08 20:29:57

(三)PHP学习笔记————基本语法:变量的相关文章

javascript学习笔记---ECMAScript语法(变量)

变量声明关键字var: var i = 1: var t = "asd"; var test1 = "hi", test2 = "hello"; 声明变量不一定要初始化, var i;//ok 另一方面在使用变量前若未加关键字var,则此变量为全局变量(此特性需特别记住). 变量名字: 变量名需要遵守两条简单的规则: 第一个字符必须是字母.下划线(_)或美元符号($) 余下的字符可以是下划线.美元符号或任何字母或数字字符 命名变量规则: Came

javascript学习笔记---ECMAScript语法(引用类型)

引用类型通常叫做类(class). 本教程会讨论大量的 ECMAScript 预定义引用类型. 引用类型 引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象. 本教程会讨论大量的 ECMAScript 预定义引用类型. 从现在起,将重点讨论与已经讨论过的原始类型紧密相关的引用类型. 注意:从传统意义上来说,ECMAScript 并不真正具有类.事实上,除了说明不存在类,在 ECMA-262 中根本没有出现"类"这个词.ECMAScript 定义了"对象定

javascript学习笔记---ECMAScript语法(辅助)

1.区分大小写. test与Test变量是两个不同的变量 2.变量是弱变量. 与C,java等等语言变量不是很一样. 如下java代码 ? 1 2 3 4 int i =0; //再次赋值 i = 10;//ok i = "hello";//wrong 类型不匹配 javascript ? 1 2 3 4 var i = 9; //再次赋值 i = 10;//ok i = "hello";//ok 但是不建议这么干,如此会给开发造成干扰,不明确变量的类型.(变量命名

javascript学习笔记---ECMAScript-判断变量类型

判断类型之前,先要清楚有哪些类型. (理理思路:程序由数据和方法构成,数据由简单数据和复杂数据构成) 即类型有: 数据(简单数据:boolean,string,num,undefined,null.复杂数据:object), 方法(function) 万能的typeof,神一样的方法 typeof(1);// num typeof("hello");// string   typeof(false);// boolean var vFlag; typeof(vFlag);// unde

js学习笔记1(变量、作用域、内存)

写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实. 学习书籍:javascript高级程序设计3版. 章节4.1 基本类型和引用类型 1.基本类型在内存中占据固定大小的空间,所以保存在栈内存中. 2.从一个变量向另一个变量复制基本类型的值的时候,会在栈中保存另一个副本. 3.引用类型的值是对象,保存在堆内存中. 4.包含引用类型的值的变量,包含的不是对象本身,而是指向该对象的在堆内存中的位置的指针. 5.确定一个值是哪一种基本类型,可以用typeof.确定一个对象是哪一种引用类型,可以使用inst

HTML第三天学习笔记

昨天学的超链接,今天深入学习了下,发现了更多的知识点,而且关于初始新建网页时,由于是初学者,所以还是纯手写代码~ 1 <html> 2 <head> 3 <title>超链接</title> 4 <meta http-equiv = "content-type" content = "text/html;charset = utf-8"> 5 <script type = "text/jav

黑马程序员学习笔记--------C语言变量类型,结构体,枚举

本章学习的知识是定义结构体,枚举等自定义的数据类型,已经宏命令,变量类型等细小的知识点,在开始本章的新知识学习之前首先我们要明白的是C语言有丰富的数据类型和运算符,因此计算能力非常强大,计算过程中使用的值一般用变量来存储.变量也是有分类型的,不同类型的变量有不同的存储类型.不同的生命周期.不同的作用域,C语言也提供了一些关键字来设置变量的属性(比如设置存储类型.生命周期). 一.变量类型 变量分为全局变量和局部变量. 首先说明一下局部变量的特点 1> 定义:在函数内部定义的变量,称为局部变量.形

SASS学习笔记2 —— 语法

sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号:另一种是scss文件,这种和我们平时写的css文件格式差不多,使用大括号和分号.在此也建议使用后缀名为scss的文件,以避免sass后缀名的严格格式要求报错. 所有的sass导入文件都可以忽略后缀名.scss.一般来说基础的文件命名方法以_开头,如_mixin.scss.这种文件在导入的时候可以不写下划线,可写成@import "mixin". 被导入sass文件a.scss: body { background: #

《Linux命令行与shell脚本编程大全》 第三章 学习笔记

第三章:基本的bash shell命令 bash程序使用命令行参数来修改所启动shell的类型 参数 描述 -c string 从string中读取命令并处理他们 -r 启动限制性shell,限制用户在默认目录下活动 -i 启动交互性shell,允许用户输入 -s 从标准输入读取命令 环境变量PS1.PS2 PS1:控制默认命令行提示符格式 PS2:控制后续命令行提示符格式   bash shell提示符字符串中使用的特殊字符 字符 描述 \a 报警字符 \d “日 月 年”格式显示的日期 \e