php数组操作 php数组用来做什么
大家好,关于php数组操作很多朋友都还不太明白,今天小编就来为大家分享关于php数组用来做什么的知识,希望对各位有所帮助!
PHP中的常用数组操作方法有哪些
PHP中的常用数组操作方法(每种都给你举个2个例子)
一、数组操作的基本函数
数组的键名和值
array_values($arr);获得数组的值
array_keys($arr);获得数组的键名
数组的内部指针
current($arr);返回数组中的当前单元
pos($arr);返回数组中的当前单元
数组和变量之间的转换
extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值
注:(第二个参数很重要,可以看手册使用)使用方法
echo$a;compact(var1,var2,var3);用给定的变量名创建一个数组
二、数组的分段和填充
数组的分段
array_slice($arr,0,3);可以将数组中的一段取出,此函数忽略键名
array_splice($arr,0,3,array("black","maroon"));可以将数组中的一段取出,与上个函数不同在于返回的序列从原数组中删除
分割多个数组
array_chunk($arr,3,TRUE);可以将一个数组分割成多个,TRUE为保留原数组的键名
数组的填充
array_pad($arr,5,'x');将一个数组填补到制定长度
三、数组与栈
array_push($arr,"apple","pear");将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数
array_pop($arr);将数组栈的最后一个元素弹出(出栈)
四、数组与列队
array_shift($arr);数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)
array_unshift($arr,"a",array(1,2));在数组的开头插入一个或多个元素
五、回调函数
array_walk($arr,'function','words');使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function)
array_mpa("function",$arr1,$arr2);可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同)
六、数组的排序
通过元素值对数组排序
sort($arr);由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
rsort($arr);由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
通过键名对数组排序
ksort($arr);按照键名正序排序
krsort($arr);按照键名逆序排序
七、数组的计算
数组元素的求和
array_sum($arr);对数组内部的所有元素做求和运算
数组的合并
array_merge($arr1,$arr2);合并两个或多个数组(相同的字符串键名,后面的覆盖前面的,相同的数字键名,后面的不会做覆盖操作,而是附加到后面)
“+”$arr1+$arr2;对于相同的键名只保留后一个
数组的差集
array_diff($arr1,$arr2);返回差集结果数组
array_diff_assoc($arr1,$arr2,$arr3);返回差集结果数组,键名也做比较
数组的交集
array_intersect($arr1,$arr2);返回交集结果数组
array_intersect_assoc($arr1,$arr2);返回交集结果数组,键名也做比较
八、其他的数组函数
range(0,12);创建一个包含指定范围单元的数组
array_unique($arr);移除数组中重复的值,新的数组中会保留原始的键名
php 怎么声明数组
一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。
<1>array()函数声明的数组的方式array([mixed...])参数mixed的语法为key=>value
如,<?php
$array=array("1"=>"编","2"=>"程","3"=>"词","4"=>"典");
print_r($array);
echo"<br>";
echo$array[1];//注意:下标默认是从0开始
echo$array[2];
echo$array[3];
echo$array[4];
?>
<2>直接为数组元素赋值。如果在创建数组时不知所创建数组的大小,或在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法较好。
如,<?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array);//输出所创建数组的结构
?>
三、数组的类型
PHP支持两种数组:索引数组(indexed array)和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。
四、输出数组
在PHP中对数组元素输出,可以通过echo和print语句来实现,但这只能对数组中某一元素进行输出;要将数组结构输出则要使用print_r()函数,其语法:print_r(mixed expression_r),参数expression_r为普通的整形、字符型或实型变量则输出该变量本身,如果该参数为数组,则按一定键值和元素的顺序显示出该数组中的所有元素。
五、数组的构造
一维数组:
当一个数组的元素是变量时,则称其为一维数组。
声明一位数组:类型说明符数组名[常量表达式];
二维数组:
当一个数组的元素是一个一位数组时,则称之为二维数组。
如,<?php
$str= array(
"网络编程语言"=>array("PHP","JSP","ASP"),
"体育项目"=>array("m"=>"足球","n"=>"篮球"));
print_r($str);
?>
六、遍历数组
遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询或其他功能。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。
<1>使用foreach结构遍历数组;
<2>使用list()函数遍历数组,list()函数仅能用于数字索引的数组,且数字索引从0开始。
例:综合使用list()和each()认证用户登录:
<?php
//输出用户登录信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo"$name=$value<br>";
}
}
?>
七、统计数组元素个数
在PHP中,使用count()函数对数组中的元素个数进行统计,语法为:int coun(mixed array[,int mode]),其中参数array为必要参数,mode为可选参数,若选中COUNT——RECURSIVE(或1),本函数将递归地对数组数组。如,
<?php
$array= array("php"=> array("PHP函数参考大全","PHP程序开发范例宝典","PHP数据库系统开发完全手册"),
"asp"=> array("ASP经验技巧宝典")
);//声明一个二维数组
echo count($array,COUNT_RECURSIVE);//递归统计数组元素的个数,运行结果为6
?>
八、数组排序
<1>使用sort()和rsort()分别对数组进行升序和降序,如,
<?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$i<count($array);$i++){
echo$array[$i]."";
}
echo"<br>";
$array1=rsort($array);
for($i=0;$i<count($array);$i++){
echo$array[$i]." ";
}
?>
运行结果:
5 9 18 26 37 42 66 88
88 66 42 37 26 18 9 5
<2>使用ksort()和asort()对关联数组排序
如果使用了相关数组,在排序后还要保持关键字和值的排序一致,这是就需要使用ksort()和asort()函
数,如,
<?php
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo"<br>";
asort($array);
print_r($array);
?>
运行结果:
Array( [asp]=> 3 [jsp]=> 2 [php]=> 1)
Array( [php]=> 1 [jsp]=> 2 [asp]=> 3)
php array怎么使用
PHP Array简介
array函数允许您对数组进行操作。
PHP支持单维和多维的数组。同时提供了用数据库查询结果来构造数组的函数。
安装
array函数是 PHP核心的组成部分。无需安装即可使用这些函数。
PHP Array函数
PHP:指示支持该函数的最早的 PHP版本。
函数
描述
PHP
array()创建数组。 3
array_change_key_case()返回其键均为大写或小写的数组。 4
array_chunk()把一个数组分割为新的数组块。 4
array_combine()通过合并两个数组来创建一个新数组。 5
array_count_values()用于统计数组中所有值出现的次数。 4
array_diff()返回两个数组的差集数组。 4
array_diff_assoc()比较键名和键值,并返回两个数组的差集数组。 4
array_diff_key()比较键名,并返回两个数组的差集数组。 5
array_diff_uassoc()通过用户提供的回调函数做索引检查来计算数组的差集。 5
array_diff_ukey()用回调函数对键名比较计算数组的差集。 5
array_fill()用给定的值填充数组。 4
array_filter()用回调函数过滤数组中的元素。 4
array_flip()交换数组中的键和值。 4
array_intersect()计算数组的交集。 4
array_intersect_assoc()比较键名和键值,并返回两个数组的交集数组。 4
array_intersect_key()使用键名比较计算数组的交集。 5
array_intersect_uassoc()带索引检查计算数组的交集,用回调函数比较索引。 5
array_intersect_ukey()用回调函数比较键名来计算数组的交集。 5
array_key_exists()检查给定的键名或索引是否存在于数组中。 4
array_keys()返回数组中所有的键名。 4
array_map()将回调函数作用到给定数组的单元上。 4
array_merge()把一个或多个数组合并为一个数组。 4
array_merge_recursive()递归地合并一个或多个数组。 4
array_multisort()对多个数组或多维数组进行排序。 4
array_pad()用值将数组填补到指定长度。 4
array_pop()将数组最后一个单元弹出(出栈)。 4
array_product()计算数组中所有值的乘积。 5
array_push()将一个或多个单元(元素)压入数组的末尾(入栈)。 4
array_rand()从数组中随机选出一个或多个元素,并返回。 4
array_reduce()用回调函数迭代地将数组简化为单一的值。 4
array_reverse()将原数组中的元素顺序翻转,创建新的数组并返回。 4
array_search()在数组中搜索给定的值,如果成功则返回相应的键名。 4
array_shift()删除数组中的第一个元素,并返回被删除元素的值。 4
array_slice()在数组中根据条件取出一段值,并返回。 4
array_splice()把数组中的一部分去掉并用其它值取代。 4
array_sum()计算数组中所有值的和。 4
array_udiff()用回调函数比较数据来计算数组的差集。 5
array_udiff_assoc()带索引检查计算数组的差集,用回调函数比较数据。 5
array_udiff_uassoc()带索引检查计算数组的差集,用回调函数比较数据和索引。 5
array_uintersect()计算数组的交集,用回调函数比较数据。 5
array_uintersect_assoc()带索引检查计算数组的交集,用回调函数比较数据。 5
array_uintersect_uassoc()带索引检查计算数组的交集,用回调函数比较数据和索引。 5
array_unique()删除数组中重复的值。 4
array_unshift()在数组开头插入一个或多个元素。 4
array_values()返回数组中所有的值。 4
array_walk()对数组中的每个成员应用用户函数。 3
array_walk_recursive()对数组中的每个成员递归地应用用户函数。 5
arsort()对数组进行逆向排序并保持索引关系。 3
asort()对数组进行排序并保持索引关系。 3
compact()建立一个数组,包括变量名和它们的值。 4
count()计算数组中的元素数目或对象中的属性个数。 3
current()返回数组中的当前元素。 3
each()返回数组中当前的键/值对并将数组指针向前移动一步。 3
end()将数组的内部指针指向最后一个元素。 3
extract()从数组中将变量导入到当前的符号表。 3
in_array()检查数组中是否存在指定的值。 4
key()从关联数组中取得键名。 3
krsort()对数组按照键名逆向排序。 3
ksort()对数组按照键名排序。 3
list()把数组中的值赋给一些变量。 3
natcasesort()用“自然排序”算法对数组进行不区分大小写字母的排序。 4
natsort()用“自然排序”算法对数组排序。 4
next()将数组中的内部指针向前移动一位。 3
pos() current()的别名。 3
prev()将数组的内部指针倒回一位。 3
range()建立一个包含指定范围的元素的数组。 3
reset()将数组的内部指针指向第一个元素。 3
rsort()对数组逆向排序。 3
shuffle()把数组中的元素按随机顺序重新排列。 3
sizeof() count()的别名。 3
sort()对数组排序。 3
uasort()使用用户自定义的比较函数对数组中的值进行排序并保持索引关联。 3
uksort()使用用户自定义的比较函数对数组中的键名进行排序。 3
usort()使用用户自定义的比较函数对数组中的值进行排序。 3
好了,文章到此结束,希望可以帮助到大家。