PHP笔记 22 23 24 25



数组

方法一
变量名称【索引值】=数据;
变量名称【】=数据;//不写索引值默认是所以数组,从0开始。
方法二
变量名称=array{
索引值=>数据;
…………..
};

索引,你也可以理解为目录,就相当于给里面的每一个数起一个名字,
名字如果取得是整形,那么这个数组,就是索引数组 。
如果名字字符串类型,那么这个数组就是关联数组。
在这里插入图片描述
可得,索引值重复的值上方的值会被下方覆盖。
在这里插入图片描述
为了能更清晰的观察,网页界面右键在这里插入图片描述
Array是输出的意思。
在这里插入图片描述
或是
在这里插入图片描述

使用array()语言创建数组

在这里插入图片描述
(length=6)
在这里插入图片描述
通过=>可更换索引值

1
2
3
4
5
6
<?php
$student=array(10,
'得分',
22=>true,
60.5);
var_dump($student);

在这里插入图片描述
或是

1
2
3
4
5
6
7
8
9
<?php
$student=array(
'num'=>10,
'nuc'=>11,
'n'=>'得分'
);
var_dump($student);

echo $student['n'];

在这里插入图片描述
索引值也可以为数组
在这里插入图片描述
当查询某个数的时候,可以用图下表示

1
echo $student[索引值];

多维数组

在同一个数组中,存储任何类型的数据,

1
2
3
4
5
6
<?php
$student=array(
0=>array('num'=>10,'nuc'=>11,'n'=>'得分'),
1=>array('num1'=>10,'nuc1'=>11,'n1'=>'得分1')
);
var_dump($student);

注意逗号!array后面最后一个数带不带逗号都能运行

数组的遍历

count

遍历数组:每个都经历一边的意思。

1
2
3
4
5
<?php
$student=array(
'a','c','d','x','s','z'
);//count(数组)返回值里面数据的个数,还可以获得多维数组的个数
echo count($student);

在这里插入图片描述
count默认获取第一层,例如:
在这里插入图片描述
要想全部获取,

1
2
3
4
5
6
<?php
$student=array(
array(1,2,3),
array(4,5,6),
);//count(数组)返回值里面数据的个数,还可以获得多维数组的个数
echo count($student,1);//2+6=8

在这里插入图片描述

使用循环输出数组

for循环

1
2
3
4
5
6
7
8
9
<?php
$arr=array(
'a','c','d','x','s','z'
);//count(数组)返回值里面数据的个数,还可以获得多维数组的个数
for($i=0;$i<count($arr);$i++){
echo $arr[$i];
echo "<br />";
}
echo count($arr);

但是关联数组,中for循环不可用。
在这里插入图片描述

foreach()PHP内核提供的

在这里插入图片描述
格式如图所示,看看就行!

1
2
3
4
5
6
7
8
<?php
$arr=array(
'name'=>'成功',
'num'=>10
);
foreach($arr as $value){
echo $value.'<br />';
}

在这里插入图片描述
如若,想显示数组变量,则可书写如下(一维数组)

1
2
3
4
5
6
7
8
<?php
$arr=array(
'name'=>'成功',
'num'=>10
);
foreach($arr as $key=>$value){//自己定义
echo $key.'=>'.$value.'<br />';
}

在这里插入图片描述
对于多维数组

1
2
3
4
5
6
7
8
9
10
11
<?php
$arr=array(
'name'=>'成功',
'num'=>10,
array(
1,2,3
)
);
foreach($arr as $value){//自己定义
echo $value.'<br />';
}

使用echo输出,会将array中的视为一个整体,即如图所示
在这里插入图片描述
应将echo改为var_dump();输出即可
在这里插入图片描述

进行多重嵌套

例如

1
2
3
4
5
6
7
8
9
<?php
$arr=array(
array(1,2,3),
array(1,2,3,'j'),
array(1,'g',2,3,9)
);
foreach($arr as $value){//自己定义
var_dump($value);
}

在这里插入图片描述
再加一层嵌套

1
2
3
4
5
6
7
8
9
10
11
<?php
$arr=array(
array(1,2,3),
array(1,2,3,'j'),
array(1,'g',2,3,9)
);
foreach($arr as $value){//自己定义
foreach($value as $value1){//自己定义
echo $value1.'<br />';
}
}

即可显示里面的内容。
在这里插入图片描述

与html相结合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$students=array(
array('张三','d',true,3),
array('李四','j',false,7),
array('王五','g',true,2)
);
echo'<table border=1>';//带进表格
foreach($students as $val){
if($val[2]===true){
$val[2]='男';
}
else{
$val[2]='女';
}
echo "<tr><td>{$val[0]}</td><td>{$val[1]}</td><td>{$val[2]}</td><td>{$val[3]}</td></tr>";
}
echo'</table>';
?>

可得
在这里插入图片描述

预定义超全局数组的变量

已经定义好了(存在)的变量(存放的数据的类型是数据)
超全局:超级全局变量,作用域(有效区域)!
转换至如下!

传递数据(提交数据)给服务器端的两种方式

GET方式(比较小,不太安全)

至如下
比如:?参数名=参数值&参数名=参数值…
在服务器端(请求PHP文件)这边可以通过$_GET来获取到,$_GET索引值为参数名,索引对应的数据就是参数值。

POST方式

比如表单可以通过POST发送过来,可以通过$_POST来获取!

处理数值的相关函数

简单写一下,由于博客已经发布,,,(我没上传,丢了)

array_count_values()统计数组中所有数出现的个数

1
2
3
<?php 
$array = array(1,3,3,"txt",3);
print_r(array_count_values($array));

在这里插入图片描述

array_key_exists查找键名

1
2
3
<?php 
$array = array(1=>3,'3'=>"txt");
var_dump(array_key_exists('3',$array));

在这里插入图片描述

array_search()与查找数值中的数类似,除了比较值,还会比较类型

1
2
3
<?php 
$array = array('1'=>1,'3'=>"txt");
var_dump(array_search('1',$array,true));

在这里插入图片描述
若去掉true表示结果与 array_count_values()类似

1
2
3
<?php 
$array = array(1=>1,'3'=>"txt");
var_dump(array_search('1',$array,true));

在这里插入图片描述

count统计数值中的数

1
2
3
<?php 
$array = array('1'=>1,'3'=>"txt");
var_dump(count($array));

在这里插入图片描述

in_array检查数值中是否出现某个数(返回对或者错)

1
2
3
<?php 
$array = array('1'=>1,'3'=>"txt");
var_dump(in_array(1,$array));

与上类似加true,可比较类型
在这里插入图片描述

list把数值中的值赋给变量

1
2
3
4
<?php 
$arr = array(1,2,4);
list($a,$b,$c)=array(1,2,4);
echo $a;

在这里插入图片描述
注意顺序,反正我的不是从右往左

1
2
3
<?php 
list($a[],$a[],$a[])=array(1,2,4);//从右往左
print_r($a);

assort对数排序

1
2
3
4
<?php 
$arr=array('hn'=>1,'hdd'=>8,'vv'=>2,'hd'=>4);//从右往左
asort($arr);
print_r($arr);

在这里插入图片描述

array_filter用回调函数过滤数组的单元

在这里插入图片描述

这莫可爱(让我摸摸的)小猫咪…..要官宣一下!

请添加图片描述
在这里插入图片描述


Author: BvxiE
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source BvxiE !
  TOC