PHP数组

一、数组类型

1.索引数组

概念:索引值为整型的数组;

2.关联数组

概念:索引值为字符串的数组

二、数组创建

方法一:

变量名称[索引值]=数据;

变量名称[] = 数据;//不写索引值,默认是索引数组,从0开始

方法二:

变量名称=array(

索引值=>数据,

········

)

数组里面还可以存放数组类型的数据,同一个数组中可以储存任何类型的数据;

多维数组:

访问数值的方法:变量名称【索引值】【索引值】

三数组的遍历

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

1)for循环

用的比较少,有缺陷

2)foreach语句来实现遍历数组的目的

foreach(数组变量 as 变量1){

//每次循环执行的语句

变量1代表当前正在经历(访问)的数据

}

foreach(数组变量 as 变量1 => 变量2){

//每次循环执行的语句

变量1代表当前正在经历(访问)的数据的索引值

变量2代表当前正在经历(访问)的数据

}

四、预定义超全局数组变量

已经定义好(存在)的变量(存放的数据类型是数组)

超全局:超级全局变量,作用域(有效区域)

传递数据(提交数据)给服务器主要有两种方式

1.get方式

比如:http:/localhost/demo/index.php?参数名=参数值&参数名=参数值。。。。

在服务器端(请求的php文件这边)可以通过$_GET来获取到

$_GET索引值为参数名,索引值对应的数据就是参数值

<?php
	var_dump($_GET);
?>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>预定义超全局数据变量</title>
	</head>
	<body>
		<form method="get">
			姓名:<input type="text" name="username" /><br />
			性别:<input type="text" name="sex" /> <br />
			<input type="submit" value="提交" />
		</form>
	</body>
</html>

2.post方式

比如表单 post发送过的数据可以通过$_POST来获取到

<?php
	var_dump($_POST);
?>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>预定义超全局数据变量</title>
	</head>
	<body>
		<form method="post">
			姓名:<input type="text" name="username" /><br />
			性别:<input type="text" name="sex" /> <br />
			<input type="submit" value="提交" />
		</form>
	</body>
</html>

五、处理数组的相关函数

1.array_count_values:统计数组所有的值;

$array = array(1, "hello", 1, "world", "hello");
var_dump(array_count_values($array));

2.array_key_exists:检查数组里是否有指定的键名或索引

$search_array = array('first' => null, 'second' => 4);
var_dump(array_key_exists("second",$search_array));

3.array_search:在数组中搜索给定的值,如果成功则返回首个相应的键名

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
var_dump(array_search('blue',$array));

4.count:计算数组中的单元数目,或对象中的属性个数

	$a[0] = 1;
	$a[1] = 3;
	$a[2] = 5;
	var_dump(count($a));

5.in_array:检查数组中是否存在某个值

$os = array("Mac", "NT", "Irix", "Linux");
var_dump(in_array("mac",$os));	//这里的结果为false
var_dump(in_array("Mac"));	//严格区分大小写

6.list:把数组中的值赋给一组变量 (PHP5中list() 从最右边的参数开始赋值)

$info = array('coffee', 'brown', 'caffeine');
list($li,$wu,$ming) = $info;
var_dump($li);

//list()从最右边的参数开始赋值
list($arr[],$arr[],$arr[]) = $num(50,60,70);	//PHP5中从右往左赋值,PHP7中从左往右赋值
prit_r($arr);

7.asort:对数组进行排序并保持索引关系

//arsort:对数组进行逆向排序并保持索引关系;将数组中的索引按照降序排列
//$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
//arsort($fruits)
//var_dump($fruits);

//结果如下
//Array ( [a] => orange [d] => lemon [b] => banana [c] => apple )

//asort:对数组中的值进行升序排列,
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
print_r($fruits);

//结果如下
//Array ( [c] => apple [b] => banana [d] => lemon [a] => orange )

8.array_filter:用回调函数过滤数组中的单元

function odd($var)
{
    // returns whether the input integer is odd
    return($var & 1);
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
print_r(array_filter($array1, "odd"));
版权声明:本文为dong2022原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dong2022/p/16467338.html