第六招 PHP之数组

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lwqBrell/article/details/85614190

数组类型

关联数组

关联数组的键值由字符串或字符串和数字组合。

<?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的数组。

猜你喜欢

转载自blog.csdn.net/lwqBrell/article/details/85614190