|
php基础教程-变量 |
|
|
php基础教程-变量
一变量
变量用于存储值,比如数字、文本字符串或数组。
一旦设置了某个变量,我们就可以在脚本中重复地使用它。
PHP中的所有变量都是以$符号开始的,变量名是区分大小写的。
在PHP中设置变量的正确方法是:
$var_name=value;
PHP的入门者往往会忘记在变量的前面的$符号。如果那样做的话,变量将是无效的。
虽然在PHP中并不需要初始化变量,但这是个好习惯。未初始化的变量具有其类型的默认值-FALSE,零,空字符串或者空数组。
$var=''PHP'';
$Var=''教程网'';
echo"$var,$Var";//输出"PHP,教程网"
$4site=''notyet'';//非法变更名;以数字开头
$_4site=''notyet'';//合法变量名;以下划线开头
$i站点is=''mansikka'';//合法变量名;可以用中文
?>
变量的命名规则
变量名必须以字母或下划线"_"开头。
变量名只能包含字母数字字符以及下划线。
变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如$my_string),或者以大写字母开头(比如$myString)。
二预定义变量
PHP提供了大量的预定义变量。
从PHP4.1.0开始,PHP提供了一套附加的预定数组,这些数组变量包含了来自web服务器(如果可用),运行环境,和用户输入的数据。
这些数组非常特别,它们在全局范围内自动生效,例如,在任何范围内自动生效。因此通常被称为自动全局变量(autoglobals)或者超全局变量(superglobals)。
$a="PHP教程网";
echo"通过\$GLOBALS来取变量值:".$GLOBALS[''a''];
//输出:通过$GLOBALS来取变量值:PHP教程网
echo" ";
echo"当前执行脚本的文件名:".$_SERVER[''PHP_SELF''];
//输出:当前执行脚本的文件名:/study_php/2-3.php
echo" ";
echo"当前执行脚本所在的根目录:".$_SERVER[''DOCUMENT_ROOT''];
//输出:当前执行脚本所在的根目录:H:/wwwroot
echo" ";
echo"当前执行脚本的的绝对路径:".$_SERVER[''SCRIPT_FILENAME''];
//输出:当前执行脚本的的绝对路径:H:/wwwroot/study_php/2-3.php
?>
三变量类型的强制转换
PHP在变量定义中不需要(或不支持)明示的类型定义;变量类型是根据使用该变量的上下文所决定的。
也就是说,如果把一个字符串值赋给变量var,var就成了一个字符串。如果又把一个整型值赋给var,那它就成了一个整数。
PHP中的类型强制转换和C中的非常像:在要转换的变量之前加上用括号括起来的目标类型。
$foo=10;
echo"转换前:\$foo=".$foo;//输出一个整数
echo" "//输出:$foo=10
echo" ";
$foo=(boolean)$foo;//强制转换为布尔型
echo"转换后:\$foo=".$foo;//输出:$foo=1
?>
允许的强制转换有:
(int),(integer)-转换成整型
(bool),(boolean)-转换成布尔型
(float),(double),(real)-转换成浮点型
(string)-转换成字符串
(array)-转换成数组
(object)-转换成对象
四判断变量类型
因为PHP会判断变量类型并在需要时进行转换(通常情况下),因此在某一时刻给定的变量是何种类型并不明显。
PHP包括几个函数可以判断变量的类型,例如:gettype(),is_array(),is_float(),is_int(),is_object()?和?is_string()。
$s="thisisastring";
$i=9;
$arr=array(2,4,6);
is_string($s);//返回TRUE,表示$s是一个字符串变量
is_string($i);//返回FALSE,表示$i不是一个字符串变量
is_array($arr);//返回TRUE,表示$arr是一个数组
is_array($s);//返回FALSE,表示$s不是一个数组
$str="thisisastring";
$int=9;
$bool=FALSE;
echo"\$str的类型是:".gettype($str);
echo" ";
echo" ";
echo"\$int的类型是:".gettype($int);
echo" ";
echo" ";
echo"\$bool的类型是:".gettype($bool);
?>
五获取变量类型
在PHP中使用gettype函数来获取变量
$str="thisisastring";//定义一个字符串
$int=9;//定义整数变量int,并赋值9
$bool=FALSE;//定义一个布尔型变量
echo"\$str的类型是:".gettype($str);//输出变量str的类型
echo" ";//网页换行
echo" ";
echo"\$int的类型是:".gettype($int);//输出变量int的类型
echo" ";//换行
echo" ";
echo"\$bool的类型是:".gettype($bool);//输出变量bool的类型
?>
六设置变量类型
设置变量类型使用settype函数,格式如下:
bool?settype?(mixedvar,stringtype)将变量?var?的类型设置成?type。
type?的可能值为:
“boolean”(或为“bool”,从PHP4.2.0起)
“integer”(或为“int”,从PHP4.2.0起)
“float”(只在PHP4.2.0之后可以使用,对于旧版本中使用的“double”现已停用)
“string”
“array”
“object”
“null”(从PHP4.2.0起)
如果成功则返回?TRUE,失败则返回?FALSE。
$a=100;//定义一个整型变量a,赋值100
echo"设置前,变量\$a的类型是:".gettype($a);
echo" ";
echo" ";
settype($a,"string");//把整型变量设置成字符串型变量
echo"设置后,变量\$a的类型是:".gettype($a);
?>
七删除变量
unset()?删除指定的变量,它是一个语句,没有返回值,试图获取?unset()?的返回值将导致解析错误。
unset($var);//删除单个变量
unset($arr[''elem'']);//删除单个数组元素
unset($var1,$var2,$var3);//删除一个以上的变量
?>
八判断变量是否定义
php中使用isset函数判断变量是否被定义,格式:
bool?isset?(mixedvar[,mixedvar[,...]])如果?var?存在则返回?TRUE,否则返回?FALSE。
$var="www.www.shanxiwang.netphpjc.cn";
echoisset($var);//$var定义过,返回TRUE
echoisset($a);//$a未被定义,返回FALSE
?>
PHP预定义常量
PHP向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
名称 说明 __LINE__ 文件中的当前行号。 __FILE__ 文件的完整路径和文件名。 __FUNCTION__ 函数名称(这是PHP4.3.0新加的)。 __CLASS__ 类的名称(这是PHP4.3.0新加的)。 __METHOD__ 类的方法名(这是PHP5.0.0新加的)。 echo"===PHP常见的预定义常量===";
echo" ";
echo" ";
echo"文件名:".__FILE__;
echo" ";
echo" ";
echo"当前代码行数:".__LINE__;
echo" ";
echo" ";
echo"PHP的版本:".PHP_VERSION;
echo" ";
echo" ";
echo"PHP所运行的操作系统:".PHP_OS;
?>
|
|
|
|
|
|
|
|
|
|
|