配色: 字号:
php基础教程-变量
2016-08-19 | 阅:  转:  |  分享 
  
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;

?>



献花(0)
+1
(本文系网络学习天...首藏)