PHP之旅--变量

1. 形式:  $ Name   其中Name的形式是 以_ 或者字母开头     后跟     _   字母  数字       。

变量名称区分大小写,但是函数名称不区分大小写。

2.变量赋值

eg. (普通的变量赋值 变量间的赋值)

$a = "我是小a";
$b = $a;
$a = "我变化了";
echo $b;

结果:我是小a


eg.(引用赋值 。 注意 一个变化 另外一个跟着变 。 所谓引用就是起个别名, 其实是一个东西)

$a = "我是小a";
$b = &$a;
$a = "我变化了";
echo $a."<br/>";
echo $b;

OR

$a = "我是小a";
$b = &$a;
$b = "我变化了";
echo $a."<br/>";
echo $b;

结果一样:
我变化了
我变化了


3.根据作用域分类

全局变量:所有函数以外的变量,不能在用户自定义函数内部使用,若想用,使用global关键字声明或者全局数组$golbals访问。

局部变量:作用域是函数内部。

静态变量:static声明变量。作用同c的一样。

例子

函数内部访问全局变量的例子
<?php
$name = 'Ramsey';
function print_and_change_name()
{
	global $name;
	echo "<p>{$name}<p>";
	$name='Heather';
}
print_and_change_name();
print_and_change_name();

?>

结果:
Ramsey

Heather


超全局数组实现全局变量的内部访问

<?php
$name = 'Ramsey';
function print_and_change_name()
{
	//global $name;
	echo "<p>{$GLOBALS['name']}<p>";
	$GLOBALS['name']='Heather';
}
print_and_change_name();
print_and_change_name();
?>

注意:$GOLBALS要大写。

静态变量的例子

function print_alias($alias)
{
	static $number_of_aliases = 1;
	echo "{$number_of_aliases}.{$alias} \n";
	$number_of_aliases ++;
}
echo "<pre>";
print_alias('Eli');
print_alias('HyPeR aCtIve');
print_alias('Thl Siegfried Sebastian Faust');
echo "</pre>";

结果:
1.Eli 
2.HyPeR aCtIve 
3.Thl Siegfried Sebastian Faust

4.可变变量

使用一个变量的值作为另一个变量的名称。

eg.

<?php
 $a="b";
 $b="php教程";
 echo $$a;
?>

结果:php教程

可利用可变变量形成关联

$favorite_color = 'blue';
$favorite_weapon = 'crossbow';
$favorite_drink = 'bourbon';

$favorite_things = array('color','weapon','drink');
foreach($favorite_things as $thing)
{
	echo '<p>',$thing,'=',${"favorite_{$thing}"},'</p>';
}

结果:
color=blue

weapon=crossbow

drink=bourbon

5.简单的一些变量的判别函数
$bool = isset($variable);    // 是否赋值  赋值但不为null返回true

$bool = empty($variable); // 是否为空 赋值但是为null或者0返回true

unset($variable);               //清楚值并销毁变量

$success = settype($variable,$type);  // 强制类型转换

$newvar = (Type) $oldvar; //数值转换成指定类型

6.变量的比较

eg.当我们要找到字符串中某个字符的为止时候,找不到会返回false,但是有时函数会返回0. 那么此时就会无法区分是为止0还是false。

因此 引入===  和 !==  代替== 和!=     .

7.预定义变量

$_SERVER['SERVER_ADDR']          当前运行脚本所在服务器ip

$_SERVER['SERVER_NAME']          当前脚本运行在的主机名或者虚拟机名

$_SERVER['REQUEST_METHOD']  访问页面时的请求方法 。GET   HEAD  POST  PUT......

$_SERVER['REMOTE_ADDR']          正在浏览当前页面的用户IP

$_SERVER['REMOTE_HOST]           正在浏览当前页面用户的主机名。反向域名解析基于该用户的REMOTE_ADDR

$_SERVER['REMOTE_PORT]           用户连接到服务器时候所使用的端口

$_SERVER[SCRIPT_FILENAME]      当前执行脚本的绝对路径名

$_SERVER['SERVER_PORT']           服务器所使用的端口,默认为80     若为ssl连接 端口为用户设定的http端口

$_SERVER['SERVER_SIGNATURE']    包含服务器版本和虚拟主机名的字符串

$_SERVER['DOCUMENT_ROOT']     当前运行脚本的文档根目录,在服务器配置文件中定义

$_FILES[filename][name]                    上传文件的文件名

$_FILES[filename][size]                      文件大小 单位为字节

$_FILES[filename][tmp_name]           文件上传时首先在临时目录中被保存成一个临时文件,该变量为临时文件名

$_FILES[filename][type]                     上传文件类型

$_FILES[filename][error]                     上传文件结果  上传成功返回0           

$_COOKIE                                          通过HTTPCookie传递到脚本的信息。 这些cookie多数是由执行php脚本时通过setcookie()函数设置的。

$_SESSION                                        包括与所有会话变量有关的信息。 $_SESSION变量主要用于会话控制和页面之间的传递。

$_POST                                              包含通过POST方法传递的参数的相关信息。主要用于获取通过POST方法提交的数据。

$_GET                                                包含通过GET方法传递的参数的相关信息。主要用于获取通过GET方法提交的数据。

$GOLBALS                                         由所有已定义全局变量组成的数组。变量名就是该数组的索引。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值