很严格,在上面的例子中就很清楚的说明了这一点。
(1)变量的作用范围
PHP里的变量可以直接引用,我们定义了一个页面级的变量,它和在函数里的同名变量之间有什么关系?这就是变量的作用范围问题,如下例:
范例test2_2.php
<?php
$strtest="你说";
function output1()
{
echo $strtest;
}
function output2()
{
global $strtest;
echo $strtest;
}
output1(); //输出:
output2(); //输出:你说
?>
从上例可以看出,PHP如果直接在函数中引用与页面变量同名的变量,它会认为函数的变量是一个新的变量,当然什么也不输出,但如果我们在其前面增加一个“global”的话,就可以得到页面的同名变量的值,另一种同样的方法是$GLOBALS["strtest"];
(2)变量的变量
在php中变量与许多常用语言最大的区别就是增加了一个‘$’前缀,为什么单独拿出来讲呢?因为有了这一个前缀,同样增加了PHP的独特的一种处理方式,一个前缀代表普通的变量,但是两个前缀呢?这就是变量的变量,这样说大家可能有些不明白,请看下例。
范例:test2_3.php
<?
$name=″hello″;
$$name=″world″; //等同于$hello=″world″;
echo ″$name $hello″; //输出:hello world
echo ″$name $$name″; //同样输出:hello world
for($i=1;$i<=5;$I++)
{
${ var."$i"}=$i;
}
echo $var3; //输出:3
?>
大家从上面的例子基本上可以理解$$name了,PHP的标准定义则是${ $name}。我们有了变量的变量就可以实现动态增加变量了,这简直就是神奇。
(3)变量的类型
学过其它语言的读者会发现PHP定义的变量怎么没有定义类型呢?实际上PHP定义的变量缺省是没有类型的,变量在使用时由PHP自动自动确定变量的类型。就象下例演示的一样。
范例test2_4.php:
<? php
$strtype="字符串";
/*添加字符串*/
$strtype=$strtype."再增加一些字符串 ";
/* 另一种增加字符串方式,并换行*/
$str .= "\n第二行的字符串";
/* 得到第一个字符*/
$strtype='This is a test.';
$first = $str[0]; //输出:T
/*得到最后一个字符*/
$strtype='This is still a test.';
$last=$str[strlen($str)-1]; //输出:.
//整数类型例子
$strtwo="2.5test";
$inttype=1;
echo ($inttype+$strtwo) //输出:3.5
echo ("$inttype".$strtwo) //
(1)变量的作用范围
PHP里的变量可以直接引用,我们定义了一个页面级的变量,它和在函数里的同名变量之间有什么关系?这就是变量的作用范围问题,如下例:
范例test2_2.php
<?php
$strtest="你说";
function output1()
{
echo $strtest;
}
function output2()
{
global $strtest;
echo $strtest;
}
output1(); //输出:
output2(); //输出:你说
?>
从上例可以看出,PHP如果直接在函数中引用与页面变量同名的变量,它会认为函数的变量是一个新的变量,当然什么也不输出,但如果我们在其前面增加一个“global”的话,就可以得到页面的同名变量的值,另一种同样的方法是$GLOBALS["strtest"];
(2)变量的变量
在php中变量与许多常用语言最大的区别就是增加了一个‘$’前缀,为什么单独拿出来讲呢?因为有了这一个前缀,同样增加了PHP的独特的一种处理方式,一个前缀代表普通的变量,但是两个前缀呢?这就是变量的变量,这样说大家可能有些不明白,请看下例。
范例:test2_3.php
<?
$name=″hello″;
$$name=″world″; //等同于$hello=″world″;
echo ″$name $hello″; //输出:hello world
echo ″$name $$name″; //同样输出:hello world
for($i=1;$i<=5;$I++)
{
${ var."$i"}=$i;
}
echo $var3; //输出:3
?>
大家从上面的例子基本上可以理解$$name了,PHP的标准定义则是${ $name}。我们有了变量的变量就可以实现动态增加变量了,这简直就是神奇。
(3)变量的类型
学过其它语言的读者会发现PHP定义的变量怎么没有定义类型呢?实际上PHP定义的变量缺省是没有类型的,变量在使用时由PHP自动自动确定变量的类型。就象下例演示的一样。
范例test2_4.php:
<? php
$strtype="字符串";
/*添加字符串*/
$strtype=$strtype."再增加一些字符串 ";
/* 另一种增加字符串方式,并换行*/
$str .= "\n第二行的字符串";
/* 得到第一个字符*/
$strtype='This is a test.';
$first = $str[0]; //输出:T
/*得到最后一个字符*/
$strtype='This is still a test.';
$last=$str[strlen($str)-1]; //输出:.
//整数类型例子
$strtwo="2.5test";
$inttype=1;
echo ($inttype+$strtwo) //输出:3.5
echo ("$inttype".$strtwo) //
| 对此文章发表了评论 |
