• 数组的起始下标可以不从0开始,例子为从2开始。

    $data = array(2=>'A','B','C');     运行结果:$data = array(2=>'A',3=>'B',4=>'C');


  • unset()   删除整个数组     删除单个数组元素

初始数组:$data = array('name'=> '洛初','age'=> 24,'sex'=> '女');

unset($data);                    运行结果:NULL

unset($data['name']);       运行结果:$data = array('age'=>24,'sex'=>'女');


  • list()    把数组中的值赋给一些变量

$data = array('洛初','女','24');

list($a,$b,$c) = $data;             运行结果:$a='洛初'; $b='女'; $c='24';

注释:该函数只用于数字索引的数组,且假定数字索引从 0 开始。


  • range()    自动生成一个包含指定范围单元的数据

$data = range(0,5);        运行结果:$data = array(0,1,2,3,4,5);


  • array_count_values(array) 用于统计数组中所有值出现的次数。   统计数组中相同元素的个数

$data = array('name'=> '洛初','age'=> 24,'sex'=> '女','nickname'=>'洛初');

array_count_values($data);            运行结果:array('洛初'=>2,'24'=>1,'女'=>1);


  • array_change_key_case(array,case)   把数组中所有键更改为小写或大写。     将数组中所有的键转变大小写

array必需。规定要使用的数组。

case        可选。可能的值:CASE_LOWER - 默认值。将数组的键转换为小写字母。CASE_UPPER - 将数组的键转换为大写字母。

$data = array('Name'=> '洛初','Age'=> 24,'Sex'=> '女');

array_change_key_case($data,CASE_UPPER);

运行结果:$data = array('NAME'=> '洛初','AGE'=> 24,'SEX'=> '女');

array_change_key_case($data,CASE_LOWER);

运行结果:$data = array('name'=> '洛初','age'=> 24,'sex'=> '女');


  • array_chunk(array,size,preserve_key)    把一个数组分割为新的数组块。    把数组分割为新的数组块

array:必需,数组;

size:必需,规定每个新数组包含多少个元素

preserve_key:可选,true - 保留原始数组中的键名。false - 默认。每个结果数组使用从零开始的新数组索引

$data = array('Name'=> '洛初','Age'=> 24,'Sex'=> '女');

array_chunk($data,2);

运行结果:$data = array(0=>array(0=>'洛初',1=>24),1=>array(0=>'女'));


  • array_column(array,column_key,index_key)    返回输入数组中某个单一列的值

  • array:必需,数组;

column_key:必需,需要返回值的列。该参数也可以是NULL,此时将返回整个数组

index_key:可选,用作返回数组的索引或键的列。

$data = array(    array('id'=>1,'name'=>'洛初'),    array('id'=>2,'name'=>'洛秋'),    array('id'=>2,'name'=>'洛末'),);

array_column($data,'name');        运行结果:$data = array(0=>'洛初',1=>'洛秋',2=>'洛末');


  • array_combine(keys,values)   通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值

keys:必需,键名数组;        values:必需,键值数组;

$fname=array("Bill","Steve","Mark");    $age=array("60","56","31");

array_combine($fname,$age);        运行结果:array('Bill'=>60,'Steve'=>56,'Mark'=>31);

注释:键名数组和键值数组的元素个数必须相同!如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。


  • 填充数组

array_fill(index,number,value)  用给定的键值填充数组。        用键值填充数组

index:必需,被返回数组的第一个索引;

number:必需,规定要插入的元素数;

value:必需,规定供填充数组所使用的值 ;

array_fill(3,4,blue);        运行结果:array("3"=>"blue","4"=>"blue","5"=>"blue","6"=>"blue");

array_fill_keys(keys,value)  用指定键名的给定键值填充数组。   使用指定的键和值填充数组

keys:必需,使用该数组的值作为键。非法值将被转换为字符串;

value:必需,填充数组所使用的值;

$keys = array("a","b","c","d");    array_fill_keys($keys,"blue);     运行结果:array("a"=>"blue","b"=>"blue","c"=>"blue","d"=>"blue");


  • array_filter(array,callbackfunction)  用回调函数过滤数组中的元素

array必需。规定要过滤的数组。

callbackfunction必需。规定要使用的回调函数。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。

function test_odd($var){    return($var & 1);    }

$a1=array("a","b",2,3,4);        array_filter($a1,"test_odd");        运行结果:array("3"=>"3");


  • array_flip(array)    交换数组中的键和值。    反转数组中所有的键以及它们关联的值

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");    array_flip($a1);    运行结果:array("red"=>"a","green"=>"b","blue"=>"c","yellow"=>"d");


  • array_key_exists(key,array)   检查指定的键名是否存在于数组中。   检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false

key必需。规定键名。        array必需。规定数组。


  • array_keys(array,value,strict)   返回数组中所有的键名。 返回包含数组中所有键名的一个新数组

array必需。规定数组。

value可选。您可以指定键值,然后只有该键值对应的键名会被返回。

strict         可选。与 value 参数一起使用。可能的值:true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。    false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。

$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");

array_keys($a);        运行结果:array("0"=>"Volvo","1"=>"BMW","2"=>"Toyota");

array_keys($a,"Highlander");         运行结果:array("0"=>"Toyota");

$a=array(10,20,30,"10");

array_keys($a,"10",false);     运行结果:array("0"=>0,"1"=>3);

array_keys($a,"10",true);     运行结果:array("0"=>3);


  • array_map(myfunction,array1,array2,array3...)   把数组中的每个值发送到用户自定义函数,返回新的值。 将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

myfunction必需。用户自定义函数的名称,或者是 null。

array1必需。规定数组。          array2可选。规定数组。        array3可选。规定数组。

将函数名赋值为 null 时:

$a1=array("Dog","Cat");$a2=array("Puppy","Kitten");array_map(null,$a1,$a2);

运行结果:Array ( [0] => Array ( [0] => Dog [1] => Puppy ) [1] => Array ( [0] => Cat [1] => Kitten ) );


  • array_multisort(array1,sorting order,sorting type,array2,array3...)      对多个数组或多维数组进行排序。       返回排序数组,您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。

sorting order    可选。规定排列顺序。可能的值:    SORT_ASC - 默认。按升序排列 (A-Z)。    SORT_DESC - 按降序排列 (Z-A)。

sorting type    可选。规定排序类型。可能的值:

SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。

SORT_NUMERIC - 把每一项作为数字来处理。

SORT_STRING - 把每一项作为字符串来处理。

SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。

SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。

SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

注释:字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。

您可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。

参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。


array_values(array)    返回数组中所有的值。

count(array,mode)     返回数组中元素的数目。

sizeof(array,mode)     count() 的别名。

compact(var1,var2...)    创建包含变量名和它们的值的数组。

extract(array,extract_rules,prefix)    从数组中将变量导入到当前的符号表。

in_array(search,array,type)    检查数组中是否存在指定的值。

key(array)    从关联数组中取得键名。

range(low,high,step)     创建包含指定范围单元的数组。

shuffle(array)    将数组打乱。    该函数为数组中的元素分配新的键名。已有键名将被删除

array_pad(array,size,value)     用值将数组填补到指定长度。        如果您将 size 参数设置为负数,该函数会在原始数组之前插入新的元素。

array_pop(array)     删除数组的最后一个元素(出栈)。

array_push(array,value1,value2...)将一个或多个元素插入数组的末尾(入栈)。

array_shift(array)     删除数组中首个元素,并返回被删除元素的值。    如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增

array_unshift(array,value1,value2,value3...)    在数组开头插入一个或多个元素。    该函数会返回数组中元素的个数。

array_product(array)        计算数组中所有值的乘积。

array_sum(array)    返回数组中值的和。

array_rand(array,number)        返回数组中一个或多个随机的键名。

array_reduce(array,myfunction,initial)    通过使用用户自定义函数,以字符串返回数组。

array_replace(array1,array2,array3...)    使用后面数组的值替换第一个数组的值。

array_replace_recursive(array1,array2,array3...)     递归地使用后面数组的值替换第一个数组的值。

array_merge(array1,array2,array3...)    把一个或多个数组合并为一个数组。

array_merge_recursive(array1,array2,array3...)    递归地合并一个或多个数组。

array_reverse(array,preserve)        以相反的顺序返回数组。对于整数键名,如果第二个参数指定为 true,则元素的键名保持不变,否则键名将丢失。

array_search(value,array,strict)        搜索数组中给定的值并返回键名。

array_slice(array,start,length,preserve)    返回数组中被选定的部分。

array_splice(array,start,length,array)    删除并替换数组中指定的元素。

array_unique(array)    删除数组中的重复值。    当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

array_walk(array,myfunction,userdata...)    对数组中的每个成员应用用户函数。

array_walk_recursive(array,myfunction,parameter...)    对数组中的每个成员递归地应用用户函数。


  • 排序

arsort(array,sortingtype)    对关联数组按照键值进行降序排序。

asort(array,sortingtype)    对关联数组按照键值进行升序排序。

krsort(array,sortingtype)    对数组按照键名逆向排序。

ksort(array,sortingtype)    对数组按照键名排序。

natcasesort(array)    用“自然排序”算法对数组进行不区分大小写字母的排序。

natsort(array)    用“自然排序”算法对数组排序。

rsort(array,sortingtype)    对数组逆向排序。

sort(array,sortingtype)    对数组排序。

uasort(array,myfunction)    使用用户自定义的比较函数对数组中的键值进行排序。

uksort(array,myfunction)     使用用户自定义的比较函数对数组中的键名进行排序。

usort(array,myfunction)    使用用户自定义的比较函数对数组进行排序。


  • 数组指针的移动

current(array)    返回数组中的当前元素。

each(array)    返回数组中当前的键/值对。

end(array)    将数组的内部指针指向最后一个元素。

prev(array)    将数组的内部指针倒回一位。

next(array)    将数组中的内部指针向前移动一位。

reset(array)    将数组的内部指针指向第一个元素。

pos(array)    current() 的别名。

注释: 如果数组包含空的单元,或者单元的值是 0 则该函数碰到这些单元也返回 FALSE。

要正确遍历可能含有空单元或者单元值为 0 的数组,请参见 each() 函数。

注释:each() 函数返回当前元素的键名和键值,并将内部指针向前移动。

该元素的键名和键值会被返回带有四个元素的数组中。两个元素(1 和 Value)包含键值,两个元素(0 和 Key)包含键名。

如果内部指针越过了数组范围,本函数将返回 FALSE。


  • 比较数组,返回差集

    array_diff(array1,array2,array3...)     比较数组,返回差集(只比较键值)。

    array_diff_assoc(array1,array2,array3...)  比较数组,返回差集(比较键名和键值)。

    array_diff_key(array1,array2,array3...)     比较数组,返回差集(只比较键名)。

    array_diff_uassoc(array1,array2,array3...,myfunction)     比较数组,返回差集(比较键名和键值,使用用户自定义的键名比较函数)。

array_udiff(array1,array2,array3...,myfunction)        比较数组,返回差集(只比较值,使用一个用户自定义的键名比较函数)。

array_diff_ukey(array1,array2,array3…,myfunction)    比较数组,返回差集(只比较键名,使用用户自定义的键名比较函数)。

array_udiff_assoc(array1,array2,array3...,myfunction)    比较数组,返回差集(比较键和值,使用内建函数比较键名,使用用户自定义函数比较键值)。

array_udiff_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)        比较数组,返回差集(比较键和值,使用两个用户自定义的键名比较函数)。

    • 比较数组,返回交集

      array_intersect(array1,array2,array3...)     比较数组,返回交集(只比较键值)。

      array_intersect_assoc(array1,array2,array3...)      比较数组,返回交集(比较键名和键值)。

      array_intersect_key(array1,array2,array3...)      比较数组,返回交集(只比较键名)。

      array_intersect_uassoc(array1,array2,array3...,myfunction)      比较数组,返回交集(比较键名和键值,使用用户自定义的键名比较函数)。

array_intersect_ukey(array1,array2,array3...,myfunction)  比较数组,返回交集(只比较键名,使用用户自定义的键名比较函数)。

array_uintersect(array1,array2,array3...,myfunction)    比较数组,返回交集(只比较值,使用一个用户自定义的键名比较函数)。

array_uintersect_assoc(array1,array2,array3...,myfunction)比较数组,返回交集(比较键和值,使用内建函数比较键名,使用用户自定义函数比较键值)。

array_uintersect_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)比较数组,返回交集(比较键和值,使用两个用户自定义的键名比较函数)。

  • 数组的起始下标可以不从0开始,例子为从2开始。

    $data = array(2=>'A','B','C');     运行结果:$data = array(2=>'A',3=>'B',4=>'C');


  • unset()   删除整个数组     删除单个数组元素

初始数组:$data = array('name'=> '洛初','age'=> 24,'sex'=> '女');

unset($data);                    运行结果:NULL

unset($data['name']);       运行结果:$data = array('age'=>24,'sex'=>'女');


  • list()    把数组中的值赋给一些变量

$data = array('洛初','女','24');

list($a,$b,$c) = $data;             运行结果:$a='洛初'; $b='女'; $c='24';

注释:该函数只用于数字索引的数组,且假定数字索引从 0 开始。


  • range()    自动生成一个包含指定范围单元的数据

$data = range(0,5);        运行结果:$data = array(0,1,2,3,4,5);


  • array_count_values(array) 用于统计数组中所有值出现的次数。   统计数组中相同元素的个数

$data = array('name'=> '洛初','age'=> 24,'sex'=> '女','nickname'=>'洛初');

array_count_values($data);            运行结果:array('洛初'=>2,'24'=>1,'女'=>1);


  • array_change_key_case(array,case)   把数组中所有键更改为小写或大写。     将数组中所有的键转变大小写

array必需。规定要使用的数组。

case        可选。可能的值:CASE_LOWER - 默认值。将数组的键转换为小写字母。CASE_UPPER - 将数组的键转换为大写字母。

$data = array('Name'=> '洛初','Age'=> 24,'Sex'=> '女');

array_change_key_case($data,CASE_UPPER);

运行结果:$data = array('NAME'=> '洛初','AGE'=> 24,'SEX'=> '女');

array_change_key_case($data,CASE_LOWER);

运行结果:$data = array('name'=> '洛初','age'=> 24,'sex'=> '女');


  • array_chunk(array,size,preserve_key)    把一个数组分割为新的数组块。    把数组分割为新的数组块

array:必需,数组;

size:必需,规定每个新数组包含多少个元素

preserve_key:可选,true - 保留原始数组中的键名。false - 默认。每个结果数组使用从零开始的新数组索引

$data = array('Name'=> '洛初','Age'=> 24,'Sex'=> '女');

array_chunk($data,2);

运行结果:$data = array(0=>array(0=>'洛初',1=>24),1=>array(0=>'女'));


    • array_column(array,column_key,index_key)    返回输入数组中某个单一列的值

array:必需,数组;

column_key:必需,需要返回值的列。该参数也可以是NULL,此时将返回整个数组

index_key:可选,用作返回数组的索引或键的列。

$data = array(    array('id'=>1,'name'=>'洛初'),    array('id'=>2,'name'=>'洛秋'),    array('id'=>2,'name'=>'洛末'),);

array_column($data,'name');        运行结果:$data = array(0=>'洛初',1=>'洛秋',2=>'洛末');


  • array_combine(keys,values)   通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值

keys:必需,键名数组;        values:必需,键值数组;

$fname=array("Bill","Steve","Mark");    $age=array("60","56","31");

array_combine($fname,$age);        运行结果:array('Bill'=>60,'Steve'=>56,'Mark'=>31);

注释:键名数组和键值数组的元素个数必须相同!如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。


  • 填充数组

array_fill(index,number,value)  用给定的键值填充数组。        用键值填充数组

index:必需,被返回数组的第一个索引;

number:必需,规定要插入的元素数;

value:必需,规定供填充数组所使用的值 ;

array_fill(3,4,blue);        运行结果:array("3"=>"blue","4"=>"blue","5"=>"blue","6"=>"blue");

array_fill_keys(keys,value)  用指定键名的给定键值填充数组。   使用指定的键和值填充数组

keys:必需,使用该数组的值作为键。非法值将被转换为字符串;

value:必需,填充数组所使用的值;

$keys = array("a","b","c","d");    array_fill_keys($keys,"blue);     运行结果:array("a"=>"blue","b"=>"blue","c"=>"blue","d"=>"blue");


  • array_filter(array,callbackfunction)  用回调函数过滤数组中的元素

array必需。规定要过滤的数组。

callbackfunction必需。规定要使用的回调函数。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。

function test_odd($var){    return($var & 1);    }

$a1=array("a","b",2,3,4);        array_filter($a1,"test_odd");        运行结果:array("3"=>"3");


  • array_flip(array)    交换数组中的键和值。    反转数组中所有的键以及它们关联的值

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");    array_flip($a1);    运行结果:array("red"=>"a","green"=>"b","blue"=>"c","yellow"=>"d");


  • array_key_exists(key,array)   检查指定的键名是否存在于数组中。   检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false

key必需。规定键名。        array必需。规定数组。


  • array_keys(array,value,strict)   返回数组中所有的键名。 返回包含数组中所有键名的一个新数组

array必需。规定数组。

value可选。您可以指定键值,然后只有该键值对应的键名会被返回。

strict         可选。与 value 参数一起使用。可能的值:true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。    false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。

$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");

array_keys($a);        运行结果:array("0"=>"Volvo","1"=>"BMW","2"=>"Toyota");

array_keys($a,"Highlander");         运行结果:array("0"=>"Toyota");

$a=array(10,20,30,"10");

array_keys($a,"10",false);     运行结果:array("0"=>0,"1"=>3);

array_keys($a,"10",true);     运行结果:array("0"=>3);


  • array_map(myfunction,array1,array2,array3...)   把数组中的每个值发送到用户自定义函数,返回新的值。 将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

myfunction必需。用户自定义函数的名称,或者是 null。

array1必需。规定数组。          array2可选。规定数组。        array3可选。规定数组。

将函数名赋值为 null 时:

$a1=array("Dog","Cat");$a2=array("Puppy","Kitten");array_map(null,$a1,$a2);

运行结果:Array ( [0] => Array ( [0] => Dog [1] => Puppy ) [1] => Array ( [0] => Cat [1] => Kitten ) );


  • array_multisort(array1,sorting order,sorting type,array2,array3...)      对多个数组或多维数组进行排序。       返回排序数组,您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。

sorting order    可选。规定排列顺序。可能的值:    SORT_ASC - 默认。按升序排列 (A-Z)。    SORT_DESC - 按降序排列 (Z-A)。

sorting type    可选。规定排序类型。可能的值:

SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。

SORT_NUMERIC - 把每一项作为数字来处理。

SORT_STRING - 把每一项作为字符串来处理。

SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。

SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。

SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

注释:字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。

您可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。

参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。


array_values(array)    返回数组中所有的值。

count(array,mode)     返回数组中元素的数目。

sizeof(array,mode)     count() 的别名。

compact(var1,var2...)    创建包含变量名和它们的值的数组。

extract(array,extract_rules,prefix)    从数组中将变量导入到当前的符号表。

in_array(search,array,type)    检查数组中是否存在指定的值。

key(array)    从关联数组中取得键名。

range(low,high,step)     创建包含指定范围单元的数组。

shuffle(array)    将数组打乱。    该函数为数组中的元素分配新的键名。已有键名将被删除

array_pad(array,size,value)     用值将数组填补到指定长度。        如果您将 size 参数设置为负数,该函数会在原始数组之前插入新的元素。

array_pop(array)     删除数组的最后一个元素(出栈)。

array_push(array,value1,value2...)将一个或多个元素插入数组的末尾(入栈)。

array_shift(array)     删除数组中首个元素,并返回被删除元素的值。    如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增

array_unshift(array,value1,value2,value3...)    在数组开头插入一个或多个元素。    该函数会返回数组中元素的个数。

array_product(array)        计算数组中所有值的乘积。

array_sum(array)    返回数组中值的和。

array_rand(array,number)        返回数组中一个或多个随机的键名。

array_reduce(array,myfunction,initial)    通过使用用户自定义函数,以字符串返回数组。

array_replace(array1,array2,array3...)    使用后面数组的值替换第一个数组的值。

array_replace_recursive(array1,array2,array3...)     递归地使用后面数组的值替换第一个数组的值。

array_merge(array1,array2,array3...)    把一个或多个数组合并为一个数组。

array_merge_recursive(array1,array2,array3...)    递归地合并一个或多个数组。

array_reverse(array,preserve)        以相反的顺序返回数组。对于整数键名,如果第二个参数指定为 true,则元素的键名保持不变,否则键名将丢失。

array_search(value,array,strict)        搜索数组中给定的值并返回键名。

array_slice(array,start,length,preserve)    返回数组中被选定的部分。

array_splice(array,start,length,array)    删除并替换数组中指定的元素。

array_unique(array)    删除数组中的重复值。    当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

array_walk(array,myfunction,userdata...)    对数组中的每个成员应用用户函数。

array_walk_recursive(array,myfunction,parameter...)    对数组中的每个成员递归地应用用户函数。

  • 排序

arsort(array,sortingtype)    对关联数组按照键值进行降序排序。

asort(array,sortingtype)    对关联数组按照键值进行升序排序。

krsort(array,sortingtype)    对数组按照键名逆向排序。

ksort(array,sortingtype)    对数组按照键名排序。

natcasesort(array)    用“自然排序”算法对数组进行不区分大小写字母的排序。

natsort(array)    用“自然排序”算法对数组排序。

rsort(array,sortingtype)    对数组逆向排序。

sort(array,sortingtype)    对数组排序。

uasort(array,myfunction)    使用用户自定义的比较函数对数组中的键值进行排序。

uksort(array,myfunction)     使用用户自定义的比较函数对数组中的键名进行排序。

usort(array,myfunction)    使用用户自定义的比较函数对数组进行排序。

  • 数组指针的移动

current(array)    返回数组中的当前元素。

each(array)    返回数组中当前的键/值对。

end(array)    将数组的内部指针指向最后一个元素。

prev(array)    将数组的内部指针倒回一位。

next(array)    将数组中的内部指针向前移动一位。

reset(array)    将数组的内部指针指向第一个元素。

pos(array)    current() 的别名。

注释: 如果数组包含空的单元,或者单元的值是 0 则该函数碰到这些单元也返回 FALSE。

要正确遍历可能含有空单元或者单元值为 0 的数组,请参见 each() 函数。

注释:each() 函数返回当前元素的键名和键值,并将内部指针向前移动。

该元素的键名和键值会被返回带有四个元素的数组中。两个元素(1 和 Value)包含键值,两个元素(0 和 Key)包含键名。

如果内部指针越过了数组范围,本函数将返回 FALSE。

    • 比较数组,返回差集

      array_diff(array1,array2,array3...)     比较数组,返回差集(只比较键值)。

      array_diff_assoc(array1,array2,array3...)  比较数组,返回差集(比较键名和键值)。

      array_diff_key(array1,array2,array3...)     比较数组,返回差集(只比较键名)。

      array_diff_uassoc(array1,array2,array3...,myfunction)     比较数组,返回差集(比较键名和键值,使用用户自定义的键名比较函数)。

array_diff_ukey(array1,array2,array3...,myfunction)

比较数组,返回差集(只比较键名,使用用户自定义的键名比较函数)。

array_udiff(array1,array2,array3...,myfunction)        比较数组,返回差集(只比较值,使用一个用户自定义的键名比较函数)。

array_udiff_assoc(array1,array2,array3...,myfunction)    比较数组,返回差集(比较键和值,使用内建函数比较键名,使用用户自定义函数比较键值)。

array_udiff_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)        比较数组,返回差集(比较键和值,使用两个用户自定义的键名比较函数)。

    • 比较数组,返回交集

      array_intersect(array1,array2,array3...)     比较数组,返回交集(只比较键值)。

      array_intersect_assoc(array1,array2,array3...)      比较数组,返回交集(比较键名和键值)。

      array_intersect_key(array1,array2,array3...)      比较数组,返回交集(只比较键名)。

      array_intersect_uassoc(array1,array2,array3...,myfunction)      比较数组,返回交集(比较键名和键值,使用用户自定义的键名比较函数)。

array_intersect_ukey(array1,array2,array3...,myfunction)

比较数组,返回交集(只比较键名,使用用户自定义的键名比较函数)。

array_uintersect(array1,array2,array3...,myfunction)    比较数组,返回交集(只比较值,使用一个用户自定义的键名比较函数)。

array_uintersect_assoc(array1,array2,array3...,myfunction)比较数组,返回交集(比较键和值,使用内建函数比较键名,使用用户自定义函数比较键值)。

array_uintersect_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)比较数组,返回交集(比较键和值,使用两个用户自定义的键名比较函数)。

【微信开发】玩转PHP 数组用法!的更多相关文章

  1. C#微信开发-微信JS-SDK(1)之通过config接口注入权限验证配置

    官方文档是微信JS-SDK的使用步骤http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#JSSDK.E4.BD.B ...

  2. java微信开发API第一步 服务器接入

    I如何接入服务器,下面就为大家进行介绍 一.说明 * 本示例根据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/2016 5:34 ...

  3. 使用Html5+C#+微信 开发移动端游戏详细教程 :(一)序(关于作者创业失败的感想)

    说起梦想,我清楚的记得2012年7月初毕业,拿到毕业证书的那天果断买好了次日南下去深圳的绿皮火车票,500多块,26个小时车程.第二天就拖上行李到了深圳. 一开始的想法仅仅是过去想见见世面,学习点新技 ...

  4. 夺命雷公狗---微信开发55----微信js-sdk接口开发(2)接口功能介绍之签名算法

    我们JS-SDK里面其实有不少的接口 startRecord---录音 stopRecord---停止录音 playVoice---播放 pauseVoice---暂停播放 uploadImage-- ...

  5. C#实现微信开发

    C#实现微信开发前奏 不想废话,直接写了!因为是留给自己做随笔的,所以大神们看到别喷…… 1.必须有微信公众账号 2.你也可以申请测试微信号,链接给你   http://mp.weixin.qq.co ...

  6. 转:微信开发获取地理位置实例(java,非常详细,附工程源码)

    微信开发获取地理位置实例(java,非常详细,附工程源码)   在本篇博客之前,博主已经写了4篇关于微信相关文章,其中三篇是本文基础: 1.微信开发之入门教程,该文章详细讲解了企业号体验号免费申请与一 ...

  7. 转:微信开发之使用java获取签名signature(贴源码,附工程)

    微信开发之使用java获取签名signature(贴源码,附工程) 标签: 微信signature获取签名 2015-12-29 22:15 6954人阅读 评论(3) 收藏 举报  分类: 微信开发 ...

  8. Java企业微信开发_03_通讯录同步

    一.本节要点 1.获取通讯录密钥 获取方式: 登录企业微信—>管理工具—>通讯录同步助手—>开启“API接口同步”  ; 开启后,即可看到通讯录密钥,也可设置通讯录API的权限:读取 ...

  9. Java企业微信开发_05_消息推送之发送消息(主动)

    一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息之后,微信服务器将消息传递给 第三方服务器,第三方服务器接 ...

随机推荐

  1. mysql优化------2 查看系统性能(表大小,I/o性能)

    三:判断mysql I/0 性能的一种方式(网络搜集供参考) show global status like 'innodb_dblwr%'\G   如果innodb_dblwr_pages_writ ...

  2. VC2010编写Dll文件(转)

    源:VC2010编写Dll文件 1. 打开VS2010[Flie / New / Project / Visual C++ / Win32 / Win32 Console Application]在下 ...

  3. java求两个集合的差集

    public static void main(String[] args) {Set set = new HashSet();Set set1 = new HashSet();set.add(&qu ...

  4. Redis client Python usage

    http://www.yiibai.com/redis/redis_sorted_sets.html mport redis r_server = redis.Redis('localhost') # ...

  5. 3.2. 添加模板版本(Core Data 应用程序实践指南)

    为了不像3.1那样崩溃,修改模型之前先创建新的模型版本.添加之后,会生成一个新的xcdatamodel文件,并且跟原来的内容完全一样,这有意思了,但是不要删除原来旧版的模型.旧的模型有助于把原来持久化 ...

  6. 【翻译】使用Visual Studio创建Asp.Net Core MVC (一)

    This tutorial will teach you the basics of building an ASP.NET Core MVC web app using Visual Studio ...

  7. 必备的实用jQuery代码段(1)

    1. 如何正确地使用toggleClass: //切换(toggle)类允许你根据某个类的 //是否存在来添加或是删除该类. //这种情况下有些开发者使用: a.hasClass('blueButto ...

  8. jQuery动画高级用法(上)——详解animation中的.queue()动画队列插队函数

    决定对animate方面做一些总结,希望能给大家一些启发和帮助 从一个实际应用谈起 今天不谈animate().fadeIn().fadeOut().slideUp().show().hide()诸如 ...

  9. 【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)

    HTTP is not just for serving up web pages. It's also a powerful platform for building APIs that expo ...

  10. 第6组UI组件:ViewAnimator及其子类

    ViewAnimator是一个基类,它继承了FrameLayout,因此它表现出FrameLayout的特征,可以将多个View组件“叠”在一起.ViewAnimator额外增加的功能正如它的名字所暗 ...