数组类型
关联数组
关联数组的键值由字符串或字符串和数字组合。
<?php
$students=['student1'=>'brell','student2'=>'lwqbrell'];
var_dump($students);
?>
索引数组
索引数组的键值由数字组成,在没有指定键值得情况下,默认为索引数组。
<?php
$students=['brell','lwqbrell'];
var_dump($students);
?>
二维数组
将两个一维数组组合起来便可形成二维数组(在一维数组里嵌套一维数组),二维数组很重要,在日常的开发过程中我们会经常使用到二维数组。可以使用array()来定义,也可以使用方括号[ ]来定义。
<?php
$score=array(
'math'=>array(88,86,97),
'chinese'=>array(88,93,97),
'english'=>array(88,86,97)
);
var_dump($score);
?>
<?php
$score=[
'math'=>[88,86,97],
'chinese'=>[88,93,97],
'english'=>[88,86,97]
];
var_dump($score);
?>
数组的基本操作
数组大小
int count ( mixed $array_or_countable
[, int $mode
= COUNT_NORMAL ] )
count — 计算数组中的单元数目,或对象中的属性个数
array_or_countable
数组或者 Countable 对象。
mode
如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。
<?php
$score=[
'math'=>[88,86,97],
'chinese'=>[88,93,97],
'english'=>[88,86,97]
];
$len=count($score);
echo $len;
?>
数组转字符串
string implode ( string $glue
, array $pieces
)
glue
默认为空的字符串。
pieces
你想要转换的数组
<?php
$programming=['C language','Java','PHP','C#'];
echo implode(',', $programing);
?>
数组指针
mixed current ( array &$array
)
current — 返回数组中的当前单元
mixed end ( array &$array
)
end — 将数组的内部指针指向最后一个单元
mixed prev ( array &$array
)
prev — 将数组的内部指针倒回一位
mixed reset ( array &$array
)
reset — 将数组的内部指针指向第一个单元
mixed next ( array &$array
)
next — 将数组中的内部指针向前移动一位
数组排序与打乱
bool sort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )
array
要排序的数组。
sort_flags
可选的第二个参数 sort_flags 可以用以下值改变排序的行为:
排序类型标记:
SORT_REGULAR - 正常比较单元(不改变类型)
SORT_NUMERIC - 单元被作为数字来比较
SORT_STRING - 单元被作为字符串来比较
SORT_LOCALE_STRING - 根据当前的区域(locale)设置来把单元当作字符串比较,可以用 setlocale() 来改变。
SORT_NATURAL - 和 natsort() 类似对每个单元以“自然的顺序”对字符串进行排序。 PHP 5.4.0 中新增的。
SORT_FLAG_CASE - 能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串。
bool asort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )
asort — 对数组进行排序并保持索引关系
array
输入的数组。
sort_flags
可以用可选的参数 sort_flags 改变排序的行为
bool arsort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )
arsort — 对数组进行逆向排序并保持索引关系
bool rsort ( array &$array
[, int $sort_flags
= SORT_REGULAR ] )
rsort — 对数组逆向排序
bool shuffle ( array &$array
)
随机排列单元的顺序一个数组
数组遍历
for遍历数组
<?php
$fruit=['apple','banana','orange'];
for ($i=0; $i <count($fruit) ; $i++) {
echo $fruit[$i];
};
?>
foreach遍历数组
<?php
$score=[
'math'=>86,
'chinese'=>93,
'english'=>97
];
foreach ($score as $key => $value) {
echo $key.':'.$value;
}
?>
系统预定义的数组
$_SERVER:http://php.net/reserved.variables.server
$_GET:所传递的内容会直接显示在浏览器的地址栏
$_POST:所传递的内容进行加密后添加到header进行传递。
$_FILE:获取通过POST方法上传文件的相关信息。
$_SESSION:会话变量的相关信息。
$_COOKIE:储存cookie值
$_REQUEST:包含了$_GET、$_POST、$_COOKIE的数组。