简介
数组是一个能在耽搁变量中储存多个值的特殊变量,更多数组方法参考《PHP 5 Array数组 函数》
特点:
- 默认键为创建时的下标序列号
- 键或值一样的情况下进行搜索,默认提供第一个搜索结果
- 数组中的键具有唯一性,如果出现键相同的则后者生效
- 数值数组和关联数组混用的情况下,依照顺序,后置数值数组的下标序列号为前置出现过的最大值+1
数组分为数值数组和关联数组以及多维数组
数组使用
创建数组
array(数组内容);
展现示例
<?php
$arr = array("a","b","c");
print_r($arr);
?>
结果
Array ( [0] => a [1] => b [2] => c )
// [下标序列号]=> 对应值
数值数组
即含有多个字符串/数字的列表形数组
增删改查
<?php
$arr = array("a","b","b","c");
array_push($arr,"d");
print_r($arr);
print("【增】<br>");
$arr = array("a","b","b","c");
array_pop($arr);
print_r($arr);
print("【删】<br>");
$arr = array("a","b","b","c");
$arr[2]="z";
print_r($arr);
print("【改】<br>");
$arr = array("a","b","b","c");
echo array_search("b",$arr);
print("【查】<br>");
?>
关联数组
即拥有键值对的字典形式数组
增删改查
<?php
$arr = array("a"=>123,"b"=>456,"c"=>789);
array_push($arr,"新增值");
print_r($arr);
print("【增】<br>");
$arr = array("a"=>123,"b"=>456,"c"=>789);
$arr["新增键值"]=999;
print_r($arr);
print("【增】<br>");
$arr = array("a"=>123,"b"=>456,"c"=>789);
array_pop($arr);
print_r($arr);
print("【删】<br>");
$arr = array("a"=>123,"b"=>456,"c"=>789);
$arr["b"]="修改后";
print_r($arr);
print("【改】<br>");
$arr = array("a"=>123,"b"=>456,"c"=>789);
echo $arr["b"];
print("【查】<br>");
?>
多维数组
即数组中包含数组
二维数组
<?php
$arr = array(
"一年级"=>array(
"小明"=>"男",
"小红"=>"女",
),
"二年级"=>array(
"小花"=>"女",
"小刚"=>"男",
)
);
echo "获取一年级人员:<br>";
print_r(array_keys($arr["一年级"]));
print("<br>");
echo "获取小红性别:<br>";
print_r($arr["一年级"]["小红"]);
print("<br>");
echo "二年级新增人员:<br>";
$arr["二年级"]["小莉"]="女";
print_r($arr);
?>
数组排序
方法 | 释义 |
---|---|
sort() | 对数组进行升序排列 |
rsort() | 对数组进行降序排列 |
asort() | 根据关联数组的值,对数组进行升序排列 |
ksort() | 根据关联数组的键,对数组进行升序排列 |
arsort() | 根据关联数组的值,对数组进行降序排列 |
krsort() | 根据关联数组的键,对数组进行降序排列 |
综合示例
<?php
$arr = array("b"=>1,"a"=>2,"c"=>3);
print("原始数据:");
print_r($arr);
print("<br>");
$arr = array("b"=>1,"a"=>2,"c"=>3);
sort($arr);
print("升序排序:");
print_r($arr);
print("<br>");
$arr = array("b"=>1,"a"=>2,"c"=>3);
rsort($arr);
print("降序排序:");
print_r($arr);
print("<br>");
$arr = array("b"=>1,"a"=>2,"c"=>3);
asort($arr);
print("数组的值升序:");
print_r($arr);
print("<br>");
$arr = array("b"=>1,"a"=>2,"c"=>3);
ksort($arr);
print("数组的键升序:");
print_r($arr);
print("<br>");
$arr = array("b"=>1,"a"=>2,"c"=>3);
arsort($arr);
print("数组的值降序:");
print_r($arr);
print("<br>");
$arr = array("b"=>1,"a"=>2,"c"=>3);
krsort($arr);
print("数组的键降序:");
print_r($arr);
print("<br>");
?>
数组递归展开
var_dump()函数可以将数组递归展开,便于查看
<?php
$arr = array(1,2,3=>array(3.1,3.2));
print("普通打印:");
print_r($arr);
print("<br>");
print("var_dump打印:");
var_dump($arr);
?>
HTML页面展示
普通打印:Array ( [0] => 1 [1] => 2 [3] => Array ( [0] => 3.1 [1] => 3.2 ) )
var_dump打印:array(3) { [0]=> int(1) [1]=> int(2) [3]=> array(2) { [0]=> float(3.1) [1]=> float(3.2) } }
浏览器右击查看源码展示
普通打印:Array
(
[0] => 1
[1] => 2
[3] => Array
(
[0] => 3.1
[1] => 3.2
)
)
<br>var_dump打印:array(3) {
[0]=>
int(1)
[1]=>
int(2)
[3]=>
array(2) {
[0]=>
float(3.1)
[1]=>
float(3.2)
}
}