1 什么是变量? 2 3 在程序的执行过程中值可以发生变化的量,称之为变量 4 5 如:$username="xiaosan"; //定义一个变量$username,并赋值为"xiaosan" 6 $username="强哥"; //变量$username的值替换为"强哥" 7 echo $username; //输出变量的值到浏览器显示,结果:"强哥" 8 9 10 如何定义一个变量? 11 12 定义变量的格式:$变量名; 13 14 注意:变量名的命名规则: 15 16 ①变量名由字母、数字或下划线组成,注意:字母主要指的是24个英文字母 17 ②变量名不能以数字或特殊字符开头 18 ③变量名是严格区分大小写的 19 20 合法的变量名: 21 22 $username; 23 $_username; 24 $_username2; 25 26 不合法的变量名: 27 $2username; //错误,变量名不能以数字开头 28 $&username; //错误,变量名不能是特殊字符开头 29 30 给变量赋值: 31 32 $username="xiaosan"; //给变量$username赋值为"xiaosan" 33 echo gettype($username); //变量$username的类型为String字符型 34 35 $num=10; //给变量$num赋值为10 36 echo gettype($num); //变量$num的类型为interger型 37 38 $Score=100; //变量$Score赋值为100 39 echo $score; //Notice: Undefined variable: score in F:\wamp\www\index.php on line 3 40 41 对变量的一些理解: 42 43 ①在php中用$符号定义变量 44 ②变量名严格区分大小写 45 ③变量名都是以字母或下划线开头,不能以数字或特殊字符开头 46 ④php是一种若类型的语言,不需要事先声明变量的数据类型,变量的数据类型在赋值的时候会自动声明 47 48 什么是自定义变量和内置变量? 49 50 自定义变量:通过 $变量名 格式 定义的变量 51 52 内置变量:php系统自带的一些变量,可以在作用域中直接使用,有的地方叫做预定义变量或超全局变量 53 54 php中九中预定义变量 55 56 $_GET 57 $_POST 58 $_REQUEST 59 $_SERVER 60 $_ENV 61 $_FILES 62 $_COOKIE 63 $_SESSION 64 $GLOBALS 65 66 什么是可变变量? 67 68 变量名也是一个变量的变量,叫做可变变量(可变变量又称为变量的变量) 69 70 比如: 71 72 $one="first"; 73 $$one="linux"; 74 75 echo $one; //输出普通变量 76 echo $$one; //此时变量名$one又是一个变量 77 echo $first; //可变变量的变量名$one被变量值first替代,与$$one等效 78 什么是常量? 79 80 在程序的执行过程中,不会发生变化的量,称之为常量 81 82 常量的定义 83 84 定义常量的格式:define(常量名,常量值,true|false); 85 86 如:define("DBHOST","127.0.0.1"); 87 define("DBNAME","root",true); 88 define("dbpassword","123"); 89 90 define("USERNAME","admin"); 91 define("USERNAME","admin123"); 92 93 94 95 echo DBHOST; //结果:127.0.0.1 96 echo $DBHOST; //错误:Notice: Undefined variable: DBHOST in F:\wamp\www\index.php on line 6 97 echo dbhost; //错误:Notice: Use of undefined constant dbhost - assumed \'dbhost\' in F:\wamp\www\index.php on line 6 结果:dbhost 98 99 echo dbname; //结果:root 100 101 echo dbpassword; //结果:123 102 103 echo USERNAME; //Notice: Constant USERNAME already defined in F:\wamp\www\index.php on line 6 结果:admin 104 105 106 107 对常量理解的一些总结: 108 109 ①常量的定义使用define()函数,而不使用$符号 110 ②常量名习惯上使用大写字母 111 ③常量的命名规则与变量一样,由字母、数字或下划线组成,不能以数字或特殊字符开头 112 ④参数3:表示常量名是否区分大小写, true-不区分大小写 false-区分大小写 113 ⑤常量值一般为四种基本标量类型 114 ⑤常量的值是固定不变的,一旦被定义,就不能被改变或取消定义 115 116 117 118 如何检测一个常量是否被定义? 119 120 格式:defined(被检测的常量名); 121 122 注意:如果常量被定义的话,返回true,否则返回false 123 124 如:if(defined("USERNAME")){ 125 echo "常量已被定义"; 126 }else{ 127 echo "常量未被定义"; 128 } 129 什么是自定义常量和内置常量? 130 131 自定义常量:通过define()语言结构定义的常量,称之为自定义常量 132 133 内置常量:php系统自带的常量,这些常量在任何页面数值都不发生改变,又叫预定义常量 134 135 136 常见的几种内置常量: 137 138 PHP_VERSION: 显示php版本号 139 PHP_OS: 显示服务器的操作系统,如:windows、linux等 140 141 __FILE__: php文件名 142 __LINE__: php文件的行数 143 144 TRUE 真 145 FALSE 假 146 147 148 149 php的数据类型 150 151 php的数据类型主要包括如下几种: 152 153 四种基本数据类型(标量类型) 154 155 整型:int,表示一个整数,如:$num=10; 156 157 浮点型:float,表示一个小数,如:$score=98.5 158 159 字符串型:String,表示一组由单引号或双引号中括起来的一系列字符,如:$str="admin"; 160 161 布尔型:boolean,主要用于条件判断,表示真或假,如:$i=true; 162 注意:在浏览器中true体现为数值1,false体现为空,即; 什么都没有,空白 163 164 165 两种复合数据类型 166 167 数组:array 168 169 对象:object 170 171 两种特殊数据类型 172 173 空类型:NULL 174 175 资源类型:resource 176 177 数据类型间的转换 178 179 字符串与整型之间的转换 180 181 如:$a="66"; 182 $b=22; 183 $c=$a+$b; 184 $d="abc"; 185 $e="10ddd"; 186 echo $b+$d; //结果为整型值:22 187 echo $b+$e; //结果为整型值:32 188 echo $c; //结果为整型值:88 189 echo $a; //结果为字符串类型值:66 190 echo 191 echo gettype($c); //结果:interger,说明是整型 192 echo gettype($a); //结果:String,说明是字符串类型 193 194 总结: 195 ①当字符串类型与整型进行运算时,字符串类型首先会转化为整型,再参与运算 196 ②如果参与运算的字符串内容不是以数字开头,则在参与运算时,会自动转换为整型值0 197 ③如果参与元算的字符串内容以数字开头,但不全是数字,则在参与运算时,数字开头部分会转换为整型参与运算 198 199 200 强制转换 201 202 如:$a=1.1; 203 $b=(int)$a; 204 $c=(string)$a; 205 206 echo $a; //结果:浮点型值 1.1 207 echo $b; //结果:整型值 1 208 echo $c; //结果:字符型值 1.1 209 210 echo gettype($a); //double,代表浮点型 211 echo gettype($b); //interger,代表整型 212 echo gettype($c); //string,代表字符型 213 214 215 字符串的定义? 216 217 何为字符串?由单引号或双引号括起来的一系列字符的组合 218 219 220 定义字符串的三种方式: 221 222 第一种:单引号 223 224 如:$str=\'admin\'; 225 echo $str; //浏览器中显示结果为:admin 226 227 $str1=\'$str\'; 228 echo $str1; //浏览器中显示结果为:$str1 , 而不是admin 229 230 总结:单引号中的变量会原样输出,不会被解析 231 232 233 在单引号中,如何显示某些特殊符号到浏览器? 234 235 如:echo \'his is a \\'book\\'\'; //结果:this is a \'book\' 236 echo \'$#^&\'; //结果:$#^& 237 echo \'this is a \'book\'\'; //Parse error: syntax error, unexpected T_STRING, expecting \',\' or \';\' in F:\wamp\www\index.php on line 8 238 echo \'this is a "book"\'; //结果:this is a "book" 239 240 总结: 241 ①若想在单引号中嵌套单引号,需要在前面使用转义符"\" 242 ②若想在单引号中将其它特殊符号显示出来,不需要使用转义符"\" 243 ③单引号中是不能再嵌套单引号的,如果非要嵌套的话,必须使用转义符"\" 244 ④单引号中可以嵌套双引号,双引号可以不用转义符"\" 245 246 247 248 第二种:双引号 249 250 如:$str="admin"; 251 echo $str; //浏览器中显示结果为:admin 252 253 $str1="$str"; 254 echo $str1; //浏览器中显示结果为:admin 255 256 总结:双引号中的变量会被解析 257 258 259 在双引号中,如何显示某些特殊符号到浏览器? 260 261 如:echo \'\'this is a \"book\""; //结果:this is a "book" 262 echo "$#^&"; //结果:$#^& 263 echo "this is a "book""; //Parse error: syntax error, unexpected T_STRING, expecting \',\' or \';\' in F:\wamp\www\index.php on line 8 264 echo "this is a \'book\'"; //结果:this is a \'book\' 265 echo "\$str"; //结果:$str 266 267 总结: 268 ①若想在双引号中嵌套双引号,需要在前面使用转义符"\" 269 ②若想在双引号中将其它特殊符号显示出来,不需要使用转义符"\"(标注:变量除外) 270 ③若想在双引号中将变量名前的$符号显示出来,必须使用转义符"\" 271 ④双引号中是不能再嵌套双引号的,如果非要嵌套的话,必须使用转义符"\" 272 ⑤双引号中可以嵌套单引号,单引号可以不用转义符"\" 273 274 275 第三种:定界符 276 277 定界符定义字符串的格式: 278 $str=<<<xxx 279 字符串内容 280 xxx; 281 282 283 注意: 284 ①xxx为定界符的开始与结束,名称可以自己命名 285 ②定界符的结束必须单独占一行,并且在行首,前面不能有空格 286 ③定界符中的变量会被解析 287 ④若想在定界符中显示某些特殊符号,不需要在前面使用转义符"\"(变量除外) 288 ⑤若想在定界符中显示变量前的$符号,需要使用转义符"\" 289 290 特殊字符在字符串中的应用 291 292 在php中,有一些常用的特殊字符代表着特殊的含义 293 294 如:\n //代表换行 295 \t //代表制表符 296 \r //代表回车 297 \\ //代表一个反斜杠 298 299 300 单引号中的这些特殊字符会被原样输出,不会被解析为特殊含义 301 如:echo \'\'hello\nworld; //结果:hello\nworld 302 303 双引号中的这些特殊字符会被解析为特殊含义 304 如:echo "hello\nworld"; //结果:hello world ,在浏览器中显示一行,在源代码中显示两行,因为html中的换行符只认<br/>标签。