4.PHP 教程_PHP 变量
PHP 变量
变量是用于存储信息的"容器":
<?php
$x = 5;
$y = 6;
$z = $x + $y;
echo $z;
?>
与代数相似
x=5
y=6
z=x+y
在代数中,我们使用字母(如x),并给它赋值(如5).
从上面的表达数z=x+y,我们可以计算z的值为11.
在PHP中,这些字母被称为变量
PHP变量
与代数相似,可以给PHP变量赋予某个值(x=5)或者表达式(z=x+y).
变量可以是很短的名称(如x和y)或者更具描述性的名称(如age、camame、totalvolume).
PHP变量规则:
- 变量以$符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母数字字符以及下划线(A_z、0-9和_)
- 变量名不能包含空格
- 变量名是区分大小写的($y和$Y是连个不同的变量)
创建(声明)PHP变量
PHP没有声明变量的命令.
变量在您第一次赋值给它的时候被创建:
<?php
$txt = "Hello World!";
$x = 5;
$y = 10.5
?>
在上面的语句执行中,变量txt将保存值Hello World!,且变量x将保存值5.
注释:当您赋一个文本值给变量时,请在文本值两侧加上引号.
PHP是一门弱类型语言
在上面的实例中,我们注意到,不必向PHP声明该变量的数据类型.
PHP会根据变量的值,自动把变量转换为正确的数据类型.
在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称.
PHP变量作用域
变量的作用域是脚本中变量可被引用/使用的部分.
PHP有四种不同的变量作用域:
- local
- global
- static
- parameter
局部和全局作用域
在所有函数定义的变量,拥有全局作用域,除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用global关键字.
在PHP函数内部声明的变量是局部变量,仅能在函数内部访问:
<?php
$x = 5; //全局变量
function myTest(){
$y = 10; //局部变量
echo "<p>Test variables inside the function:</p>";
echo "Variable x is:$x";
echo "<br>";
echo "Variable y is :$y";
}
myTest();
echo "<p>Test variables outside the function:<p>";
echo "Variable x is: $x";
echo "<br>";
echo "Variable y is: $y";
?>
在以上实例中myTest()函数定义了$x和$y变量.$x变量在函数外声明,所以它是全局变量,$y变量在函数内声明所以它是局部变
量.
当我们调用myTest()函数并输出两个变量的值,函数将会输出局部变量$y的值,但是不能输出$x的值,因为$x变量在函数外定义,无
法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用global关键字.
然后我们在myTest()函数外输出两个变量的值,函数将会输出全局变量$x的值,但是不能输出$y的值,因为$y变量在函数中定义,
属于局部变量.
PHP global关键字
global关键字用于函数内访问全局变量.
在函数中调用函数外定义的全局变量,我们需要在函数中的变量前加上global关键字:
<?php
$x = 5;
$y = 10;
function myTest(){
global $x,$y;
$y = $x+$y;
}
myTest();
echo $y; //输出15
?>
PHP将所有全局变量存储在一个名为$GLOBALS[index]的数组中.index保存变量的名称.这个数组可以在函数内部访问,也可以直接用来更新全局变量.
上面的实例可以写成这样
<?php
$x = 5;
$y = 10;
function myTest(){
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y;
?>
Static作用域
当一个函数完成时,它的所有变量通常都会被删除.然而,有时候您希望某个局部变量不要被删除.
要做到这一点,请在您第一次声明变量时使用static关键字:
<?php
function myTest(){
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值.
注释:该变量仍然是函数的局部变量.
参数的作用域
参数是通过调用代码将值传递给函数的局部变量.
参数是在参数列表中声明的,作为函数声明的一部分:
<?php
function myTest($x){
echo $x;
}
myTest(5);
?>
4.PHP 教程_PHP 变量的更多相关文章
- 6.PHP 教程_PHP数据类型
PHP数据类型 String(字符串),Integer(整型),Float(浮点型),Boolean(布尔型),Array(数组),Object(对象), NULL(空值). PHP字符串 一个字符串 ...
- 11.PHP 教程_PHP Switch 语句
switch 语句用于根据多个不同条件执行不同动作. PHP Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 switch 语句. 语法 switch (n) { case labe ...
- 9.PHP 教程_PHP运算符
PHP 运算符 在 PHP 中,赋值运算符 = 用于给变量赋值. 在 PHP 中,算术运算符 + 用于把值加在一起. PHP 算术运算符 运算符 名称 描述 实例 结果 x + y 加 x 和 y 的 ...
- 8.PHP 教程_PHP字符串
字符串变量用于存储并处理文本. PHP中的字符串变量 字符串变量用于包含有字符的值. 在创建字符串之后,我们就可以对它进行操作了.您可以直接在函数中使用字符串,或者把它存储在变量中. 在下面的实例中, ...
- 5.PHP 教程_PHP echo/print
PHP echo 和 print 语句 echo和print区别: echo-可以输出一个或多个字符串 print-只允许输出一个字符串,返回值总为1 提示:echo输出的速度比print快,echo ...
- 1.PHP 教程_PHP 简介
PHP是服务器端脚本语言. 在学习之前,您需要对以下知识有基本的了解: HTML css PHP是什么? PHP代表PHP:Hypertext Preprocessor PHP是一种使用广泛的开源的脚 ...
- 10.PHP 教程_PHP If...Else 语句
条件语句用于根据不同条件执行不同动作. PHP 条件语句 当您编写代码时,您常常需要为不同的判断执行不同的动作.您可以在代码中使用条件语句来完成此任务. 在 PHP 中,提供了下列条件语句: if 语 ...
- 7.PHP 教程_PHP常量
常量值被定义后,在脚本的其他任何地方都不能被改变. PHP常量 常量是一个简单值的标识符.该值在脚本中不能改变. 一个常量由英文字母.下划线.和数字组成,但数字不能作为首字母出现.(常量名不需要加$修 ...
- 3.PHP 教程_PHP 语法
基础的PHP语法 PHP脚本可以放在文档中的任何位置. PHP脚本以<?php开始,以?>结束: <?php //PHP代码 ?> PHP文件的默认文件扩展名是". ...
随机推荐
- 【转】Loss Function View
感谢原文作者!原文地址:http://eletva.com/tower/?p=186 一.Loss Function 什么是Loss Function?wiki上有一句解释我觉得很到位,引用一下:Th ...
- hdu3280Equal Sum Partitions (区间DP)
Problem Description An equal sum partition of a sequence of numbers is a grouping of the numbers (in ...
- HDU 3468 Treasure Hunting(BFS+网络流之最大流)
题目地址:HDU 3468 这道题的关键在于能想到用网络流.然后还要想到用bfs来标记最短路中的点. 首先标记方法是,对每个集合点跑一次bfs,记录全部点到该点的最短距离.然后对于随意一对起始点来说, ...
- 一步一步挖出Compute
前几天在做结账的时候,对数据表DataGridView控件的单列求和纠结了一番. 如今差点儿养成了习惯,对于一些东西疏于開始的思考,不会先想到百度,这里我是先想到了第一版的机房收费那块的 ...
- 页面加载时,页面中DIV随之滑动出来;去掉页面滚动条
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- js获取当前年月日
function GetDate(){ var now = new Date(); var year = now.getFullYear(); //年var month = now.ge ...
- KVC中setValuesForKeysWithDictionary:
本文转载于:http://my.oschina.net/u/2407613/blog/524879?p={{page}} 从字典映射到一个对象,这是KVC中的一个方法所提供的,这个方法就是 setVa ...
- JS中的this都有什么作用?
1.全局代码中的this 是指向全局对象,在浏览器中是window alert(this) //window 2.作为单纯的函数调用: function fooCoder(x) { this.x = ...
- MySQL 基础学习
http://www.w3school.com.cn/sql/ 1.limit x,y 或 limit z :选取从x开始的y条数据 或 选取最开始的 z条数据 , 2.like '%N%' : ...
- ExtJS 修改load paging时的参数
ExtJS 的pagingToolbar 在翻页的时候传入的参数是固定的 分别是start 和 limit(其中limit的值就是store.pageSize的值) 如何在每次翻页的时候传入自己的参 ...