什么是变量?
在程序的执行过程中值可以发生变化的量,称之为变量
如:$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为定界符的开始与结束,名称可以自己命名 ②定界符的结束必须单独占一行,并且在行首,前面不能有空格 ③定界符中的变量会被解析 ④若想在定界符中显示某些特殊符号,不需要在前面使用转义符"\"(变量除外)
⑤若想在定界符中显示变量前的$符号,需要使用转义符"\"
特殊字符在字符串中的应用
在php中,有一些常用的特殊字符代表着特殊的含义
如:\n //代表换行
\t //代表制表符
\r //代表回车
\\ //代表一个反斜杠
单引号中的这些特殊字符会被原样输出,不会被解析为特殊含义 如:echo ''hello\nworld; //结果:hello\nworld
双引号中的这些特殊字符会被解析为特殊含义 如:echo "hello\nworld"; //结果:hello world ,在浏览器中显示一行,在源代码中显示两行,因为html中的换行符只认
标签。