数组的操作

一、count()和sizeof()的功能是一样的,它们都可以有第二个参数,设置为1 ,则会扫描多维数组计算数组元素的个数,默认为0,不扫描多维数组元素的个数,例如:输出结果为2,输出结果为8;

二、compact()函数可以把一个或多个变量甚至数组建立成数组元素,例如

输出结果为:Array ( [num] => 10 [str] => shangjie [array] => Array ( [0] => 1 [1] => 2 [2] => 3 ) ),与compact相对应的是extract()函数,它将数组中的单元转化为变量,例如:输出结果分别为:10,string,Array ( [0] => 1 [1] => 2 [2] => 3 );

三、array_combine($array1,$array2)函数可以讲两个数组创建成另外一个数组,将数组$array1的值作为键名,$array2的值作为相应的值创建一个新的数组,例如:输出结果为Array ( [1] => a [2] => b [3] => c ),注:两个数组的个数一定要相同;

四、range($low,$high[,$step])函数自动创建一个值在指定范围内的数组,$Low为开始元素的值,$high为结束元素的值。$step是单元之间的步进值,应该为正值,默认为1,另$low可以比$high大,例如:输出结果为:Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 ) Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 ) Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g [7] => h ) Array ( [0] => a [1] => d [2] => g )

五、数组可以不用预先初始化或创建就可以直接使用,使用它的时候意味着它已经被创建了。例如:输出结果为:Array ( [0] => 0 [1] => 1 [2] => 2 ) ;

六、array_key_exists()和in_array()函数检查数组中是否存在某个键名和值,两个函数都为布尔值,存在则返回true,不存在则返回false。例如:<?php $array = array(1,2,3,5=>4,7=>5);if(in_array(5, $array)){echo ‘数组中存在:5‘;}if(!array_key_exists(3, $array)){echo ‘数组中不存在键名:3‘;}?>,数据结果为:数组中存在:5数组中不存在键名:3。注:isset()也可以用来检查数组中的键名是否存在,但如果检查的键名对应的值为NULL是,isset()函数返回false,而array_key_exists()则返回true。

七、array_search()函数也可以用于检查数组中的值是否存在,与in_array()函数不同的是:in_array()函数返回的事true或false,而array_search()函数当值存在时返回这个值的键名,若不存在时返回null。例如:<?php $array = array(1,2,3,‘a‘,5,‘b‘);$key = array_search(‘a‘, $array);if($key == null){echo ‘数组中不存在这个值‘;}else{echo $key;}?>,输出结果为:3。

八、key()函数可以取得数组当前单元的键名。例如:<?php$array = array(‘a‘ => 1, ‘b‘ => 2, ‘c‘ => 3, ‘d‘ => 4);echo key($array);?>,输出结果为a。

九、list()函数可以将数组中的值赋给指定的变量,例如:<?php$array = array(‘红色‘, ‘蓝色‘, ‘绿色‘);list($red, $blue, $green) = $array;echo $red.‘,‘.$blue.‘,‘.$green;?>,输出结果为:红色,蓝色,绿色。注:list()函数仅能用于键名为数字的数组并且数字键名从0开始,如果键名不是连续的数字,会发生错误,并且list()的变量数量不能多于数组中的变量数量。

十、array_fill($star_index, $num, $value)函数将一个数组从下标为$start_index开始,填充$num个值为$value的单元,其中$value可以是数组也可是其他类型的值,$num一定是大于零的整数,例如:<?php$array1 = array_fill(2, 3, array(1,2));print_r($array1);?>,输出结果为:Array ( [2] => Array ( [0] => 1 [1] => 2 ) [3] => Array ( [0] => 1 [1] => 2 ) [4] => Array ( [0] => 1 [1] => 2 ) )。

十一、array_fill_keys($keys, $value)函数将指定的数组$keys中的值作为键名,$value作为值,返回一个新的数组,例如:<?php$array = array(‘a‘, 2 ,‘b‘);$array1 = array_fill_keys($array, array(1,2));print_r($array1);?>,输出结果为:Array ( [a] => Array ( [0] => 1 [1] => 2 ) [2] => Array ( [0] => 1 [1] => 2 ) [b] => Array ( [0] => 1 [1] => 2 ) )。

十二、array_flip()函数将数组中的键名和值互换,数组中的之必须为合法的键名,交换前数组中有相同的值,转换之后保存最后一个。例如:<?php$array = array(1,2,3,4,5,6,3,7,2);$array1 = array_flip($array);print_r($array1);?>,输出结果为:Array ( [1] => 0 [2] => 8 [3] => 6 [4] => 3 [5] => 4 [6] => 5 [7] => 7 )。

十三、array_keys()函数和aray_values()函数,可以取得数组中所有的键名和值,并保存到新的数组中,例如:<?php$array = array(‘red‘ => ‘红色‘, ‘blue‘ => ‘蓝色‘, ‘green‘ => ‘绿色‘);$arrayKeys = array_keys($array);$arrayValues = array_values($array);print_r($arrayKeys);print_r($arrayValues);?>,输出结果为:Array ( [0] => red [1] => blue [2] => green ) Array ( [0] => 红色 [1] => 蓝色 [2] => 绿色 )

十四、array_unique()函数可以移除数组中重复的值,返回一个新的数组,并且不会破坏原来的数组。例如:<?php$array = array(1,2,3,4,5,6,3,7,2);$array1 = array_unique($array);print_r($array1);?>,输出结果为:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [7] => 7 )。

时间: 2024-11-15 19:07:28

数组的操作的相关文章

C++ 出现bug :二位数组的操作运算,求非对角线的元素的和

编写一个通用程序,求出二位数组(行数和列数必须相等)的非对角线的元素之和,试建立类MATRIX完成上述功能 #include<iostream> using namespace std; class MATRIX { public: void mATRIX(); void MATRIX_sum(); void MATRIX_display(); static int fact_len;//定义静态变量 private: int sum; int a[40][40]; }; int MATRIX

java基础之数组常用操作

常用的对数组进行的操作 1.求数组中最大值,最小值 思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max.最小值同样 1 public class TestArray{ 2 public static void main(String[] args){ 3 int[] arr={23,45,234,576,34,87,34,12,67}; 4 int max=arr[0]; 5 int min=arr[0]; 6 for(int i=

js数组的操作

转载 js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学!呵呵.学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限

FLEX 集合数组ArrayCollection操作实例

FLEX 集合数组ArrayCollection操作实例 <?xml version="1.0" encoding="utf-8"?> <!-- Simple example to demonstrate the Halo DataGrid control. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="librar

array数组‘查找’操作

1.数组中是否存在某元素: echo '<br/>数组的操作1:in_array($value,$array,$type)'; //$type:是否对$value的值进行类型匹配 true/false,默认值是 false $arr=array("name"=>"DOOR",32); (in_array("32",$arr))? $v="存在" : $v= "不存在"; echo &quo

js,jQuery数组常用操作小结

一.js中数组常用操作小结 (1) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); 结果 a:[2,3,4,5] b:1 (2) unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); 结果 a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总为undefi

java:在Conllection接口中实际上也规定了两个可以将集合变成对象数组的操作

在Conllection接口中实际上也规定了两个可以将集合变成对象数组的操作 //在Conllection接口中实际上也规定了两个可以将集合变成对象数组的操作 List<String> addlist = new ArrayList<String>(); addlist.add("hi"); addlist.add(0,"hello"); addlist.add("world"); Object obj[] = addli

js数组的操作。好难,自己学习下。

js数组的操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可

数组常见操作_使用字母打印正三角形

数组常见操作: 使用字母打印正三角形 public class fifty { public static void main(String[] args) { char[] c = {'A','B','C','D','E','F','G'}; //要打印的行数 for(int i = 0;i<c.length; i++){ //打印每一行空格 for(int j = i; j<c.length-1; j++){ System.out.print(" "); } //打印每

javascript数组赋值操作

最近在司徒正美的<javascript框架设计>,在里面发现了一个段代码 1 ...... 2 3 var _len = arr1.length; 4 while (_len) { 5 arr2[--_len] = arr1[_len]; 6 } 7 8 ...... 这是一个数组间赋值的操作,咋一看,之前还没碰到这样的写法.平时我个人都是这样写的. 1 function assignment2(arr1, arr2) { 2 for (var i = 0,_len = arr1.length