您的位置:首页 > 编程语言 > PHP开发

【php】php语法基础

2012-09-16 19:51 621 查看
什么是变量?

在程序的执行过程中值可以发生变化的量,称之为变量

如:$username="xiaosan";			//定义一个变量$username,并赋值为"xiaosan"
$username="强哥";				//变量$username的值替换为"强哥"
echo $username;				//输出变量的值到浏览器显示,结果:"强哥"

如何定义一个变量?

定义变量的格式:$变量名;

注意:变量名的命名规则:

①变量名由字母、数字或下划线组成,注意:字母主要指的是24个英文字母
②变量名不能以数字或特殊字符开头
③变量名是严格区分大小写的

合法的变量名:

$username;
$_username;
$_username2;

不合法的变量名:
$2username;					//错误,变量名不能以数字开头
$&username;					//错误,变量名不能是特殊字符开头

给变量赋值:

$username="xiaosan";			 //给变量$username赋值为"xiaosan"
echo gettype($username);		 //变量$username的类型为String字符型

$num=10;			 		//给变量$num赋值为10
echo gettype($num);		 	//变量$num的类型为interger型

$Score=100;					//变量$Score赋值为100
echo $score;					//Notice: Undefined variable: score in F:\wamp\www\index.php on line 3

对变量的一些理解:

①在php中用$符号定义变量
②变量名严格区分大小写
③变量名都是以字母或下划线开头,不能以数字或特殊字符开头
④php是一种若类型的语言,不需要事先声明变量的数据类型,变量的数据类型在赋值的时候会自动声明

什么是自定义变量和内置变量?

自定义变量:通过 $变量名 格式 定义的变量

内置变量:php系统自带的一些变量,可以在作用域中直接使用,有的地方叫做预定义变量或超全局变量

php中九中预定义变量

$_GET
$_POST
$_REQUEST
$_SERVER
$_ENV
$_FILES
$_COOKIE
$_SESSION
$GLOBALS

什么是可变变量?

变量名也是一个变量的变量,叫做可变变量(可变变量又称为变量的变量)

比如:

$one="first";
$$one="linux";

echo $one;			//输出普通变量
echo $$one;			//此时变量名$one又是一个变量
echo $first;			//可变变量的变量名$one被变量值first替代,与$$one等效
什么是常量?

在程序的执行过程中,不会发生变化的量,称之为常量

常量的定义

定义常量的格式:define(常量名,常量值,true|false);

如:define("DBHOST","127.0.0.1");
define("DBNAME","root",true);
define("dbpassword","123");

define("USERNAME","admin");
define("USERNAME","admin123");

echo DBHOST;		//结果:127.0.0.1
echo $DBHOST;		//错误:Notice: Undefined variable: DBHOST in F:\wamp\www\index.php on line 6
echo dbhost;			//错误:Notice: Use of undefined constant dbhost - assumed 'dbhost' in F:\wamp\www\index.php on line 6		结果:dbhost

echo dbname;			//结果:root

echo dbpassword;		//结果:123

echo USERNAME;		//Notice: Constant USERNAME already defined in F:\wamp\www\index.php on line 6   结果:admin

对常量理解的一些总结:

①常量的定义使用define()函数,而不使用$符号
②常量名习惯上使用大写字母
③常量的命名规则与变量一样,由字母、数字或下划线组成,不能以数字或特殊字符开头
④参数3:表示常量名是否区分大小写, true-不区分大小写  false-区分大小写
⑤常量值一般为四种基本标量类型
⑤常量的值是固定不变的,一旦被定义,就不能被改变或取消定义

如何检测一个常量是否被定义?

格式:defined(被检测的常量名);

注意:如果常量被定义的话,返回true,否则返回false

如:if(defined("USERNAME")){
echo "常量已被定义";
}else{
echo "常量未被定义";
}
什么是自定义常量和内置常量?

自定义常量:通过define()语言结构定义的常量,称之为自定义常量

内置常量:php系统自带的常量,这些常量在任何页面数值都不发生改变,又叫预定义常量

常见的几种内置常量:

PHP_VERSION:		显示php版本号
PHP_OS:				显示服务器的操作系统,如:windows、linux等

__FILE__:			php文件名
__LINE__:			php文件的行数

TRUE				真
FALSE				假

php的数据类型

php的数据类型主要包括如下几种:

四种基本数据类型(标量类型)

整型:int,表示一个整数,如:$num=10;

浮点型:float,表示一个小数,如:$score=98.5

字符串型:String,表示一组由单引号或双引号中括起来的一系列字符,如:$str="admin";

布尔型:boolean,主要用于条件判断,表示真或假,如:$i=true;
注意:在浏览器中true体现为数值1,false体现为空,即; 什么都没有,空白

两种复合数据类型

数组:array

对象:object

两种特殊数据类型

空类型:NULL

资源类型:resource

数据类型间的转换

字符串与整型之间的转换

如:$a="66";
$b=22;
$c=$a+$b;
$d="abc";
$e="10ddd";
echo $b+$d;			//结果为整型值:22
echo $b+$e;			//结果为整型值:32
echo $c;				//结果为整型值:88
echo $a;				//结果为字符串类型值:66
echo
echo gettype($c);		//结果:interger,说明是整型
echo gettype($a);		//结果:String,说明是字符串类型

总结:
①当字符串类型与整型进行运算时,字符串类型首先会转化为整型,再参与运算
②如果参与运算的字符串内容不是以数字开头,则在参与运算时,会自动转换为整型值0
③如果参与元算的字符串内容以数字开头,但不全是数字,则在参与运算时,数字开头部分会转换为整型参与运算

强制转换

如:$a=1.1;
$b=(int)$a;
$c=(string)$a;

echo $a;			 //结果:浮点型值 1.1
echo $b;			//结果:整型值 1
echo $c;			//结果:字符型值 1.1

echo gettype($a);	//double,代表浮点型
echo gettype($b);	//interger,代表整型
echo gettype($c);	//string,代表字符型

字符串的定义?

何为字符串?由单引号或双引号括起来的一系列字符的组合

定义字符串的三种方式:

第一种:单引号

如:$str='admin';
echo $str;			  //浏览器中显示结果为:admin

$str1='$str';
echo $str1;			  //浏览器中显示结果为:$str1 , 而不是admin

总结:单引号中的变量会原样输出,不会被解析

在单引号中,如何显示某些特殊符号到浏览器?

如:echo 'his is a \'book\'';		//结果:this is a 'book'
echo '$#^&';				//结果:$#^&
echo 'this is a 'book'';		//Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in F:\wamp\www\index.php on line 8
echo 'this is a "book"';		//结果:this is a "book"

总结:
①若想在单引号中嵌套单引号,需要在前面使用转义符"\"
②若想在单引号中将其它特殊符号显示出来,不需要使用转义符"\"
③单引号中是不能再嵌套单引号的,如果非要嵌套的话,必须使用转义符"\"
④单引号中可以嵌套双引号,双引号可以不用转义符"\"

第二种:双引号

如:$str="admin";
echo $str;			  //浏览器中显示结果为:admin

$str1="$str";
echo $str1;			  //浏览器中显示结果为:admin

总结:双引号中的变量会被解析

在双引号中,如何显示某些特殊符号到浏览器?

如:echo ''this is a \"book\"";		//结果:this is a "book"
echo "$#^&";				//结果:$#^&
echo "this is a "book"";		//Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in F:\wamp\www\index.php on line 8
echo "this is a 'book'";		//结果:this is a 'book'
echo "\$str";				//结果:$str

总结:
①若想在双引号中嵌套双引号,需要在前面使用转义符"\"
②若想在双引号中将其它特殊符号显示出来,不需要使用转义符"\"(标注:变量除外)
③若想在双引号中将变量名前的$符号显示出来,必须使用转义符"\"
④双引号中是不能再嵌套双引号的,如果非要嵌套的话,必须使用转义符"\"
⑤双引号中可以嵌套单引号,单引号可以不用转义符"\"

第三种:定界符

定界符定义字符串的格式:
$str=<<<xxx
字符串内容
xxx;

注意:
①xxx为定界符的开始与结束,名称可以自己命名
②定界符的结束必须单独占一行,并且在行首,前面不能有空格
③定界符中的变量会被解析
④若想在定界符中显示某些特殊符号,不需要在前面使用转义符"\"(变量除外)
⑤若想在定界符中显示变量前的$符号,需要使用转义符"\"

特殊字符在字符串中的应用

在php中,有一些常用的特殊字符代表着特殊的含义

如:\n		//代表换行
\t		//代表制表符
\r		//代表回车
\\		//代表一个反斜杠

单引号中的这些特殊字符会被原样输出,不会被解析为特殊含义
如:echo ''hello\nworld;		//结果:hello\nworld

双引号中的这些特殊字符会被解析为特殊含义
如:echo "hello\nworld";		//结果:hello world ,在浏览器中显示一行,在源代码中显示两行,因为html中的换行符只认<br/>标签。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息