先复习一下布尔型的数据
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");
$a = true;
$b = false;
# 如果$a的值为1,是则打印“我是坏坏!”,否则不打印
if ($a == 1){
echo "我是坏坏!<br/>";
}
# 同上
if ($b == 0){
echo "I am bad!<br/>";
}
# 这里$a是布尔类型,1是整数型,所以不会打印
if ($a === 1){
echo "我是坏坏的女朋友!<br/>";
}
# 同上
if ($b === 0){
echo "I'm bad's girlfriend!<br/>";
}
# 赋值,将1赋值给$a,条件成立,打印
if ($a = 1){
echo "good<br/>";
}
# 这里赋值为0,即相当于条件不成立,所以不打印
if ($b = 0){
echo "bad";
}
运行结果:
我是坏坏!
I am bad!
good
=
一个等号表示赋值==
两个等号判断等号两边的值是否相等===
三个等号判断等号两边的值和数据类型是否相等
浮点型
- 浮点型,即带有小数或者是科学计数法
- 带有小数点
- 带
e
,如1.2e3,表示1.2乘以10的3次方
注意!这里
e
的前面可以是正数、负数、小数,
- 声明方式分为两种:
- 普通声明
- 科学声明
普通声明浮点数
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");
# 声明变量fudian的值
$fudian = 520.1314;
echo $fudian;
echo "<br/>";
# 声明fudian1的值
$fudian1 = 10.28;
echo $fudian1;
echo "<br/>";
var_dump($fudian1);
?>
运行结果:
520.1314
10.28
float(10.28)
var_dump()
我们在之前是见过的,这个函数的功能是将括号中的变量数据类型以及变量的长度和值显示出来- float(浮动,即即语言中的浮点型)、var即variable(变量)、dump(倾倒)
数组类型
- 即多个键值对
索引数组
<?php
echo "<pre>"; //格式化输出
# 定义变量$a,键1、2、5分别对应的值为Wuhan、Shiyan、Huanggang
$a[1] ='Wuhan';
$a[2] ='Shiyan';
$a[5] ='Huanggang';
var_dump($a);
?>
运行结果:
array(3) { [1]=> string(5) "Wuhan" [2]=> string(6) "Shiyan" [5]=> string(9) "Huanggang" }
array(3)
表示有三个键值,1
对应的字符串时Wuhan
长度为5
,后面相同
- 这个代码我们可以进行一些优化,结果显示更明显
<?php
echo "<pre>"; //格式化输出
$a[1] ='Wuhan';
$a[2] ='Shiyan';
$a[5] ='Huanggang';
print_r($a); //以更容易理解的方式打印数组
?>
运行结果:
Array
(
[1] => Wuhan
[2] => Shiyan
[5] => Huanggang
)
print_r()
函数用于打印变量,以更容易理解的形式展示,一般用于数组
- 那我们不添加键,它又是怎么对应的呢?
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");
echo "<pre>";
$a[] ='坏坏';
$a[] ='阿密';
$a[] ='女朋友';
$a[] ='阿密是坏坏的女朋友';
print_r($a);
echo "<br/>";
echo $a[3]; //输出键为3的值
# 产生Notice提示,不是错误,因为没有这个键值对应的值
echo $a[5];
#关闭提示Notice
echo @$a[5];
?>
运行结果:
Array
(
[0] => 坏坏
[1] => 阿密
[2] => 女朋友
[3] => 阿密是坏坏的女朋友
)
阿密是坏坏的女朋友
Notice: Undefined offset: 5 in D:phpStudyPHPTutorialWWW1.php on line 17
哈哈哈哈哈,别打我!
- 这里可以看到,键并不是从
1
开始的,而是从0
开始的@
写在变量前面表示不显示Notice、Warning信息
- 除了使用
@
不显示外,还可以在程序开始写上ini_set('display_errors',0);
,写在哪里,从哪里之后的语句就不会显示。程序编好之后,可以加上这个语句。避免黑客从提示信息攻击网站- 最后我们看到还是有输出
Notice
是因为我们的第一个echo $a[5];
前面没有@
- PHP有三种错误:
Error
错误Warning
警告Notice
提示
关联数组
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");
echo "<pre>";
$city = array(
'湖北' => '武汉',
'陕西' => '西安',
'江苏' => '南京',
'安徽' => '合肥'
);
print_r($city);
?>
运行结果:
Array
(
[湖北] => 武汉
[陕西] => 西安
[江苏] => 南京
[安徽] => 合肥
)
- 省表示键,城市表示值
- 这种方式来表示数组时,如果最后的一个没有对应的键,那么默认就是从
0
开始。另外将最后的没有键的值与上面的值对其,方便辨认- 还可以将
array()
用[]
替代,效果相同
- 当然,除了上述的两种表示数组的方法,我们还可以像Python里表示列表的方法一样来表述数组
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");
echo "<pre>";
$city = ['湖北','武汉', '陕西' ,'西安', '江苏' ,'南京'];
print_r($city);
?>
输出结果:
Array
(
[0] => 湖北
[1] => 武汉
[2] => 陕西
[3] => 西安
[4] => 江苏
[5] => 南京
)
- 这种方法和我们Python中的列表的方法类似
- 也可以在列表中使用关联数组的表示方式,将键与值写入,也就指定了键,不再是默认的数字
二维数组
- 二维数组简单来说,就是我们在数组中再加数组
<?php
//使用utf-8编码,不然可能会出现乱码
header("Content-Type:text/html;charset=utf-8");
echo "<pre>";
# $a是一个二维数组,包含一个元素$a['歌手'],$a['歌手']是一个一维数组,包含了三个元素
$a['歌手'] = ['许嵩','李荣浩','孙子涵'];
//$b = ['武汉','上海']; //这样的$b为一维数组
# 这里如果把“憨憨”换成“2”,那么输出结果将不会显示“军”,会被覆盖
$a['friends'] = ['闯','羊','军','憨憨'=>'马'];
$a['city'] = array(
'武汉',
'四季如春' => '昆明',
3 => '杭州'
);
$a[] = 'bad';
print_r($a);
?>
运行结果:
Array
(
[歌手] => Array
(
[0] => 许嵩
[1] => 李荣浩
[2] => 孙子涵
)
[friends] => Array
(
[0] => 闯
[1] => 羊
[2] => 军
[憨憨] => 马
)
[city] => Array
(
[0] => 武汉
[四季如春] => 昆明
[3] => 杭州
)
[0] => bad
)
- 其实对于学习过Python的小伙伴来说,这跟我们Python中的列表很像,所以说啊,其实所有的语言都是相通的,只要学好一门语言,学习其他的语言也会很快了。
- 二维数组的代码较长,联系时可以尝试一次修改一条语句,查看运行结果,加深理解。
以上内容均属原创,如有不详或错误,敬请指出。
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!