PHP 数组的用法

1、定义数组

1.1、使用数组字面量

$arr=['张三',1,'李四',[1,'王五']];
	var_dump($arr);

1.2、使用array()函数

$arr=array('张三',1,'李四');
	var_dump($arr);

1.3、使用关联数组

$arr=['name'=>'张三','age'=>'18','sex'=>'男'];
	var_dump($arr);

1.4、其他方式定义数组

$arr[0]=1;
$arr[1]="张三";
$arr[2]="lisi";
	var_dump($arr);

2、遍历数组

2.1、利用for循环遍历数组

$arr=array('张三',1,'李四');

for($i=0;$i<count($arr);$i++){
	echo $arr[$i];
}

2.2、利用foreach循环遍历数组

$arr=['name'=>'张三','age'=>'18','sex'=>'男'];
foreach ($arr as $k=>$v){
	var_dump($k);
	var_dump($v);
}

3、预定义数组

3.1、$_SERVER

$_SERVER是一个包含诸如头信息、路径和脚本位置的数组。数组的实体由web服务器创建,并不能保证所有的服务器都能产生所有的信息,服务器可能忽略了一些信息,或者产生了一些其他的新的信息。和其他的超全局数组一样,这是一个自动的全局变量,在所有的脚本中都有效,在函数或对象的方法中不需要使用global关键字访问它。

var_dump($_SERVER);

3.2、$_ENV

$_ENV数组中的内容是在PHP解析器运行时,从PHP所在服务器中的环境变量转变为PHP全局变量的。它们中许多都是由PHP所运行的系统决定的,完整的列表是不可能的,需要查看PHP所在服务器的系统文档以确定其特定的环境变量。

3.3、$_GET

$_GET数组也是超全局变量数组,是通过URL GET方法传递的变量组成的数组

3.4、$_POST

$_POST数组是通过HTTP POST方法传递的变量组成的数组。$_POST和$_GET数组之一都可以保存表单提交的变量,使用哪一个数组取决于提交表单时在表单form标记中的method属性使用的方法是post还是get。但是使用$_POST数组只能访问以post方法提交的表单数据。

3.5、$_REQUEST

包含$_GET、$_POST和$_COOKIE中全部的内容

3.6、$_COOKIE

$_COOKIE超全局数组是经由HTTP Cookies方法提交至脚本的变量。通常这些Cookies是由以前执行的PHP脚本通过setCookies()函数设置到客户端浏览器中的。

3.7、$GLOBALS

$GLOBALS是由所有已定义的全局变量组成的数组,变量名就是该数组的索引

4、数组函数

4.1、array_values()

返回数组中的所有值

$arr=array('name'=>"张三","sex"=>"男");
var_dump(array_values($arr));

4.2、array_keys()

返回数组中的所有键名

$arr=array('name'=>"张三","sex"=>"男");
var_dump(array_keys($arr));

4.3、is_array()

检查一个变量是否为数组

$arr=array('name'=>"张三","sex"=>"男");
var_dump(is_array($arr));

4.4、in_array()

检查一个值是否存在于数组中

$arr=array('name'=>"张三","sex"=>"男");
var_dump(in_array("张三",$arr));

4.5、array_unique()

从数组中移除重复的值

$arr=["张三","李四","李四"];
var_dump(array_unique($arr));

4.6、array_rand()

随机取出数组索引

$arr=array('name'=>"张三","sex"=>"男");
var_dump(array_rand($arr,1));

4.7、sort()

对数组进行升序排序

$arr=['10',"3","5","9"];
var_dump(sort($arr));
var_dump($arr);

4.8、rsort()

对数组进行降序排序

$arr=['10',"3","5","9"];
rsort($arr);
var_dump($arr);

4.9、asort()

根据值对数组进行升序排序,并保持键值关联

$arr=array('aname'=>"张三","sex"=>"男",'tel'=>'18899998888');
asort($arr);
var_dump($arr);

4.10、ksort()

根据关联数组的键,对数组进行升序排列

$arr=array('aname'=>"张三","sex"=>"男",'tel'=>'18899998888');
ksort($arr);
var_dump($arr);

4.11、array_column()

取出多维数组的某一列数据

$arr = [
    ['id' => "5", 'name' => 'D', 'age' => 18],
    ['id' => "1", 'name' => 'A', 'age' => 19],
    ['id' => "2", 'name' => 'B', 'age' => 20],
    ['id' => "3", 'name' => 'C', 'age' => 18],
];
var_dump(array_column($arr,'name'));

4.12、array_multisort()

对多个或者多维数组进行排序

$arr = [
    ['id' => "5", 'name' => 'D', 'age' => 18],
    ['id' => "1", 'name' => 'A', 'age' => 19],
    ['id' => "2", 'name' => 'B', 'age' => 20],
    ['id' => "3", 'name' => 'C', 'age' => 18],
];
function array_sort($data, $field, $sort){
  $fields = array_column($data, $field);
  array_multisort($fields, $sort, $data);
  return $data;
}
var_dump(array_sort($arr,'age',SORT_ASC));

4.13、array_reverse()

反转数组

$arr=["张三","李四"];
var_dump(array_reverse($arr));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值