PHP学习 变量使用总结

1.定义常量define("CONSTANT", "Hello world.");
常量只能包含标量数据(boolean,integer,float 和 string)。
调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echo CONSTANT;
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。

2.普通变量$a = "hello";

3.可变变量(使用两个美元符号($))
$$a = "world";
两个变量都被定义了:
$a 的内容是“hello”并且 $hello 的内容是“world”。
因此,可以表述为:
echo "$a ${$a}";或者  echo "$a $hello";它们都会输出:hello world
要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要 $$a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]},对第二种情况用 ${$a}[1]。

4.静态变量
在函数内部static $a = 0;
注意:声明中用表达式的结果对其赋值会导致解析错误如static  $a =3+3;(error)
静态变量仅在局部函数域中存在(函数内部),函数执行完之后,变量值不会丢失,可用于递归调用

5.全局变量
在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,在全局范围内访问变量可以用特殊的 PHP 自定义 $GLOBALS 数组:
如:$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
在一个函数域内用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用
global $obj;
注:对于变量的 static 和 global 定义是以 应用 的方式实现的

6.给变量赋值:传地址赋值(简单引用):
$bar = &$foo;  //加&符号到将要赋值的变量前
改动新的变量将影响到原始变量,这种赋值操作更加快速
注意:只有命名变量才可以传地址赋值
注意:如果
$bar = &$a;
$bar = &$foo;
改变$bar的值只能改变变量foo的值,而不改变a的值(引用改变了)

7.PHP 超全局变量$GLOBALS : 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER : 变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。
$_GET :    经由 HTTP GET 方法提交至脚本的变量。
$_POST :   经由 HTTP POST 方法提交至脚本的变量。
$_COOKIE : 经由 HTTP Cookies 方法提交至脚本的变量。
$_FILES :  经由 HTTP POST 文件上传而提交至脚本的变量。
文件上传表单中要有 enctype="multipart/form-data"
$_ENV :    执行环境提交至脚本的变量。
$_REQUEST :经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。参见 import_request_variables()。
注意:      自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。
$_SESSION :当前注册给脚本会话的变量。

if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined = false;
var cb_blogId = 72706;
var cb_entryId = 1993842;
var cb_blogApp = "zcy_soft";
var cb_blogUserGuid = "c4d4393c-4c87-df11-ba8f-001cf0cd104b";
var cb_entryCreatedDate = '2011/3/24 14:47:00';

(0)

相关推荐

  • php学习之数据类型之间的转换代码

    复制代码 代码如下: /*数据类型之间相互转换 * 一种是强制转换 * setType(变量,类型); //int,integer,float,double等等. * 这个函数将原变量的类型改变,用var_dump();可以查看变量 * * 在赋值前使用(类型)的形式,不会改变原变量的类型 * $a=(int)"123abc"; * * $变量=intval(变量或值); * $变量=floatval(变量或值); * $变量=stringval(变量或值); * * 注意:整型在内存

  • PHP学习之正则表达式

    现在我们大家所说的正则表达式基本上是指兼容Perl风格的正则表达式.POSIX风格的正则表达式基本上没人使用了,所以从PHP5.3起,已经不推荐使用了,可能到PHP的下一个版本就会把相关的函数删除. 关于正则表达式,因为太复杂,所以以后想专看一本正则的书,所以只介绍兼容Perl风格的正则表达式的一些函数. 1. 定界符 定界符表示正则表达式的开始和结尾,一般用斜线(/)表示.在PHP中(其它语言暂时没有测试过),它也可以用其它的非数字字母的字符来代替.如/\d+/和#\d+#的表示同一个正则表达

  • PHP学习之整理字符串

    1. 访问单个字符在PHP中,可以把字符串当成一个字符的数组,可以直接用数组的访问方法来访问字符串.如$str[0].在这里要注意的是,如果字符是ASCII码以外时,访问会有问题.因为这种访问只能取得一个字节. 2. 删除空白字符在PHP中,可以用trim(), ltrim(), rtrim()三个函数来删除字符串开头或结尾的空白字符.其中,trim()用于删除字符前后的空白字符:ltrim()用于删除字符左侧的空白字符:rtrim()用于删除字符右侧的空白字符.在默认情况下,会删除以下字符:空

  • PHP学习之字符串比较和查找

    1. 字符串比较 在PHP中,可以用==(双等号)或者 ===(三等号)来比较字符串.两者的区别是双等号不比较类型,三等号会比较类型,它不转换类型:用双等号进行比较时,如果等号左右两边有数字类型的值,刚会把另一个值转化为数字,然后进行比较.这样的话,如果是纯字符串或者NULL时,会转化为0进行比较.同样,大小于号也和等号一样,比较时可能出现不正确的结果. 所以,比较字符串可以用PHP的自带函数strcmp和strcasecmp.其中strcasecmp是strcmp的变种,它会先把字符串转化为小

  • PHP学习之数组值的操作

    1. 值的析取PHP中,用list来析取数组中的值,如list($a, $b) = $array.如果list中的值多于数组个数,list中多余的值会设为NULL.也可以用逗号来跳过数组中的值,如list($a, ,$b) = $array. 2.划分数组如果想取得子数组,可以用array_slice(array, offset, length);来取得.它返回一个新的下标从0开始的数组.如果原数组的下标是字符串,好像是没有什么意义的,最好不要用,可以用array_splice来取得子串. 3.

  • PHP学习之输出字符串(echo,print,printf,print_r和var_dump)

    下面一一进行介绍. 1. echo echo 是PHP的一个关键字,它没有返回值.在写法上,它可以省略小括号.如下代码: 复制代码 代码如下: echo 'Test String'; echo('Test String'); 2. print print 也是PHP的一个关键字,它有返回值,一般返回true,返回false的情况应该没有.在写法上,它和echo一样,可以省略小括号.如下代码: 复制代码 代码如下: print 'Test String'; print('Test String')

  • php学习之变量的使用

    复制代码 代码如下: <?php //引用 $one="test"; two=&$one;//相当于传地址,两个变量指向一个地址 //动态变量 $one="######"; $two="one"; $three="two"; echo $three."<br>";//输出"two" echo $$three."<br>";//输出

  • PHP学习之数组的定义和填充

    PHP的数组,说白了,就是关联数据每一条数组都是以[索引,值]的形式保存的.其中索引默认是以0开始的数字.在未指定索引时,PHP会从0开始自动生成索引.当指定一个索引,PHP会从你指定索引最大正整数的下一个整数开始.如果你指定的是小数,PHP会取整数部分做为索引. 另外说说数组其它一些小东西: array()可以声明一个空数组: array[] = $value 在数组存在时,追加一个数据:在数组不存时,生成一个数组,并追加数据. array[$index] = $value 在数组存在时,追加

  • Kotlin语法学习-变量定义、函数扩展、Parcelable序列化等简单总结

    Kotlin语法学习-变量定义.函数扩展.Parcelable序列化等简单总结 今年 Google I/O 2017 开发者大会中,Google 宣布正式把 Kotlin 纳入 Android 程序的官方一级开发语言(First-class language),作为Android开发者,当然要逐步熟悉这门语言,第一步就要从语法开始学习. 在这之前,我们需要了解怎么使用Kotlin编写一个Android应用.对于Android Studio 3.0版本,我们在创建工程的时候直接勾选 Include

  • PHP学习 变量使用总结

    1.定义常量define("CONSTANT", "Hello world."); 常量只能包含标量数据(boolean,integer,float 和 string). 调用常量时,只需要简单的用名称取得常量的值,而不能加"$"符号,如:echo CONSTANT: 注: 常量和(全局)变量在不同的名字空间中.这意味着例如 TRUE 和 $TRUE 是不同的. 2.普通变量$a = "hello"; 3.可变变量(使用两个美

  • 易语言声明变量的步骤讲解

    易语言教程入门之变量学习变量是什么 1.变量就是一个容器一个仓库,存放程序中的结果,或读取的数据等,这些是基本的概念,变量就是一个容器一个仓库,存放程序中的结果,或读取的数据等,这些是基本的概念, 2.下面我们来一个小程序来实际操作一下 我们先要声明一个变量(就是增加一个变量),先新建一个win窗口程序,在里面画一个按钮,进入代码编辑区,在_按钮1_被单击里面按ctrl+l 3.然后在变量名下面输入一个变量名,这里啰嗦一下,在很多编程语言教程里面,老师总是把变量名的命名规则说半天的,这里我只想说

  • Javascript变量函数声明提升深刻理解

    目录 前言: 变量提升 函数提升 为什么要提升? 最佳实践 总结 前言: Javascript变量函数声明提升(Hoisting)是在 Javascript 中执行上下文工作方式的一种认识(也可以说是一种预编译),从字面意义上看,“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,在代码里的位置是不会动的,而是在编译阶段被放入内存中会和代码顺序不一样.变量函数声明提升虽然对于实际编码影响不大,特别是现在ES6的普及,但作为前端算是一个基础知识,必须掌握的,是很多大厂的前端面试必问的

  • C# 变量,常量数据类型详情

    目录 1.变量操作 1.1 变量声明.赋值 1.2 赋值运算符和赋值表达式 1.4变量命名规则 2 常量 2.1 变量常量作用域 2.2 @作用 3 数据类型之值类型 3.1数据类型 3.2 理解内存原理 4 数据类型之引用类型 5. console.ReadLine()及Console.WriteLine(); 1.变量操作 1.1 变量声明.赋值 要在计算机中存一个数字50需要两句话声明变量的语法格式: 数据类型 变量名 (int a; )赋值: 变量名=值: (a=50;)数据有整型(in

  • python 寻找优化使成本函数最小的最优解的方法

    今天来学习变量优化问题.寻找使成本函数最小的题解.适用于题解相互独立的情况,设计随机优化算法.爬山法.模拟退火算法.遗传算法. 优化问题的的精髓是:1.将题解转化为数字序列化,可以写出题解范围.2.成本函数能返回值 问题场景: 所有乘客从不同的地方飞到同一个目的地,服务人员等待所有人到来以后将人一次性接走. 离开时,服务人员将人一次性带到飞机场,所有乘客等待自己的航班离开. 要解决的问题: 如何设置乘客的到来和离开航班,以及接送机的时间,使得总代价最小. 将题解设为数字序列. 数字表示某人乘坐的

  • Kotlin中let()with()run()apply()also()函数的使用方法与区别

    相比Java, Kotlin提供了不少高级语法特性.对于一个Kotlin的初学者来说经常会写出一些不够优雅的代码.在Kotlin中的源码标准库(Standard.kt)中提供了一些Kotlin扩展的内置函数可以优化kotlin的编码.Standard.kt是Kotlin库的一部分,它定义了一些基本函数. 这个源代码文件虽然一共不到50行代码,但是这些函数功能都非常强大. 一.回调函数的Kotin的lambda的简化 在Kotlin中对Java中的一些的接口的回调做了一些优化,可以使用一个lamb

  • 利用Kotlin如何实现Android开发中的Parcelable详解

    坑 先来看看 Android Studio 给的自动实现. 新建一个数据类,让它实现 Parcelable data class Worker( var id: Int, var name: String, var tasks: MutableList<Int> ) : Parcelable 使用 Android Studio 自带的 Add Parcelable Implementation ,然后你就得到了... data class Worker( var id: Int, var na

  • Python数据类型及常用方法

    目录 一 引入 二 数字类型 2.1 int整型 2.1.1 作用 2.1.2 定义 2.2 float浮点型 2.2.1 作用 2.2.2 定义 2.3 数字类型的使用 三 字符串类型str 3.1 作用 3.2 定义 3.3 使用 四 列表list 4.1 作用 4.2 定义 4.3 使用 五 字典dict 5.1 作用 5.2 定义 5.3 使用 六 布尔bool 6.1 作用 6.2 定义 6.3 使用 一 引入 我们学习变量是为了让计算机能够像人一样去记忆事物的某种状态,而变量的值就是

  • Python 实现一个全连接的神经网络

    目录 前言 梯度 前向传播 反向传播 开始训练 前言 在这篇文章中,准备用 Python 从头开始实现一个全连接的神经网络.你可能会问,为什么需要自己实现,有很多库和框架可以为我们做这件事,比如 Tensorflow.Pytorch 等.这里只想说只有自己亲手实现了,才是自己的. 想到今天自己从接触到从事与神经网络相关工作已经多少 2.3 年了,其中也尝试用 tensorflow 或 pytorch 框架去实现一些经典网络.不过对于反向传播背后机制还是比较模糊. 梯度 梯度是函数上升最快方向,最

随机推荐