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/>标签。