详情了解更多,添加308139472
PHP变量是临时存储值的空间。php是弱类型语言,弱类型语言的特点就是变量的类型是由存储的值决定的。
如何定义一个变量?
设置浏览器编码(一般默认)
header(‘Content-type:text/html;charset=utf-8’);
赋值符号
= 读法从右往左
$a = 1; // 将1赋给给变量a
变量的命名规则:
必须以$符开头
由数字[0-9]、字母[a-zA-Z]、下划线(_)组成
数字不能紧挨着
要求命名必须有意义
// $a34_ 错
// $abc 对
// $2sf 错
// $a79 对
// $b_a9 对
// $c9f 对
// $9c 错
//变量命名有意义
$username = ‘bienzhu’;
$age = 23;
//变量命名正确的
$_abc = 1;
//变量的值 变量类型
echo
u
s
e
r
n
a
m
e
;
/
/
输
出
变
量
的
值
和
类
型
v
a
r
d
u
m
p
(
username; //输出变量的值和类型 var_dump(
username;//输出变量的值和类型vardump(username);
注:变量严格区分大小写 $a $A
php变量的类型
八种变量类型
四种标量
整型 浮点型 布尔型 字符串型
两种复合类型
数组 对象
两种特殊类型
资源 null
标量一: 整型int
会声明十进制数、八进制数、十六进制数
整型的存储范围 占4字节 1字节=8位 32位(二进制01)
第一位 是符号位 +0 -1 31位
如果超出整型范围,会自动转成浮点型。
扩展(二进制转成十进制)
二的次幂 1的位置的数相加即可。
// 声明十进制数
a
=
1
;
v
a
r
d
u
m
p
(
a = 1; var_dump(
a=1;vardump(a);//int 1
a = 234 ; v a r d u m p ( a = 234; var_dump( a=234;vardump(a); //int 23435
// 声明八进制(0-7) 以0开头 后面跟0-7
b
=
034
;
v
a
r
d
u
m
p
(
b = 034; var_dump(
b=034;vardump(b);// 浏览器中看到的都是十进制数 int(28)
// 声明十六进制 以0x开头后面跟(0-9a-f)范围
c
=
0
x
45
a
;
v
a
r
d
u
m
p
(
c = 0x45a; var_dump(
c=0x45a;vardump(c); // int(1114)
// 超出存储范围 会自动转成浮点
d
=
2147483649
;
v
a
r
d
u
m
p
(
d = 2147483649; var_dump(
d=2147483649;vardump(d); // int(2147483649)
// 负整数 int
e
=
−
45
;
v
a
r
d
u
m
p
(
e = -45; var_dump(
e=−45;vardump(e); // int(-45)
标量二:浮点型float 小数 科学技术法
永远不要使用浮点数来做比较
a
=
4.5
;
v
a
r
d
u
m
p
(
a = 4.5; var_dump(
a=4.5;vardump(a); // float 4.5
b
=
−
4.6
;
v
a
r
d
u
m
p
(
b = -4.6; var_dump(
b=−4.6;vardump(b); // float -4.6
c
=
1
e
5
;
/
/
1
∗
10
的
5
次
方
科
学
技
术
法
e
v
a
r
d
u
m
p
(
c = 1e5; // 1 * 10的5次方 科学技术法 e var_dump(
c=1e5;//1∗10的5次方科学技术法evardump(c); // float 100000
// 永远不要使用浮点数来做比较
var_dump(0.1 + 0.7 == 0.8); // bool(false)
标量三:布尔型 boolean
两个值 true真 false假
总结假的情况 其余全为真
整型 0
浮点型 0.0
字符型 ‘’ ‘0’
布尔 false
数组 空数组 array()
null的三种情况
php4空对象为假
对象 对象都为真
资源 都为真
标量四:字符串型 string
单引号 ‘’
双引号 “”
单引号的区别:
对变量的解析
单引号不解析变量 双引号解析变量 一般{}括起来
对转义字符的支持
单引号只支持 \’ \
双引号支持所有转义字符(见手册)
单引号中使用单引号 双引号中使用双引号 需要转义
单双引号可以互相嵌套使用
效率(功能越强 效率越低)
单引号效率高于双引号
a = ′ a b c d ′ ; v a r d u m p ( a = 'abcd'; var_dump( a=′abcd′;vardump(a);
b = " s d f s d f s " ; v a r d u m p ( b = "sdfsdfs"; var_dump( b="sdfsdfs";vardump(b);
$age = 14;
echo ‘刘贝贝\n的"年龄"是:{$age}\’;
echo ‘
’;
echo “刘贝\n贝的"年龄"是:{$age}r
”;
C. 定界符方式:
不同:既可以使用单引号也可以使用双引号
不加单引号同双引号的特点
加单引号同单引号特点
// 定义方式
$str = <<<EOF
内容
EOF;
$str = <<<‘EOF’
内容
EOF;
// 定界符方式 如何定义 特点同双引号
/以<<<开头 后面跟标识符名称 一般建议大写 独占一行
内容
结束时与开始标识符名称相同加分号 后面什么都不允许(空白)独占一行/
$str = <<<‘EOF’
字"符串全"都{$a}写\n在这’字’符串全都写在这字符串全都写在这字符串
全都写在这字符串全都写在这字符串写在这字符串全都写在这
EOF;
// 原样输出
var_dump($str);
数组 array
对象 object
资源 resource
NULL (1.未定义的变量 2.直接赋值为Null 3.使用unset(变量名称)释放的变量)
// php变量类型----数组array
a
=
a
r
r
a
y
(
3
,
4
,
6
)
;
v
a
r
d
u
m
p
(
a = array(3,4,6); var_dump(
a=array(3,4,6);vardump(a);
// php变量类型----对象object
// 对象是由类实例出来的
// 声明类
class Person{
public $username;
}
// new
p
1
=
n
e
w
P
e
r
s
o
n
(
)
;
v
a
r
d
u
m
p
(
p1 = new Person(); var_dump(
p1=newPerson();vardump(p1);//object
// php变量类型----资源resource
// 读文件内容
r
e
s
=
f
o
p
e
n
(
′
.
/
a
.
t
x
t
′
,
′
r
+
′
)
;
v
a
r
d
u
m
p
(
res = fopen('./a.txt','r+'); var_dump(
res=fopen(′./a.txt′,′r+′);vardump(res); //resource(3, stream)
// php变量类型----空null
// 未定义的变量
// 直接赋值为null
// 使用unset()释放的变量
var_dump($cd); // 未定义的变量
// 直接赋值为null
a
=
n
u
l
l
;
v
a
r
d
u
m
p
(
a = null; var_dump(
a=null;vardump(a);
b
=
3
;
/
/
把
3
赋
给
变
量
b
u
n
s
e
t
(
b = 3;// 把3赋给变量b unset(
b=3;//把3赋给变量bunset(b); // 释放变量b
var_dump($b); // 打印变量b 类型null
a
=
1
;
v
a
r
d
u
m
p
(
i
s
b
o
o
l
(
a = 1; var_dump(is_bool(
a=1;vardump(isbool(a)); //boolean false
var_dump(is_int($a)); //boolean true
输出未定义的变量 ager
echo $ager;
提示:
Notice: Undefined variable: ager in D:\wamp\www\139\20160310php2\5string.php on line 27