风马一族_php数组函数
Posted 风马一族
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了风马一族_php数组函数相关的知识,希望对你有一定的参考价值。
原文来自:http://www.cnblogs.com/sows/p/6045699.html (博客园的)风马一族 侵犯版本,后果自负 2016-11-09 15:56:26
数组 函数
php--数组的尝鲜事例
array_change_key_case — 返回字符串键名全为小写或大写的数组
语法:array_change_key_case(数组名);
- php-->修改数组的键名(下标)的字母大小写
array_chunk — 将一个数组分割成多个
语法:array_chunk(数组名,设置数组的长度);
php--将数组划分成若干个数组
- array_column — 返回数组中指定的一列
待定
- array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
- php--数组的元素充当另个数组的键名
- array_count_values — 统计数组中所有的值出现的次数
-
-
1 <?php 2 //设置文件的编码为 utf-8,以便识别中文 3 header(\'Content-type:text/html;charset=utf-8\'); 4 5 //让结果,按原先的格式输出 6 echo \'<pre>\'; 7 8 $arr = array(23,324,32,45,645,6,56,23,5,5,56,54,65,7,5,45,63,45,34 9 ); 10 11 //统计数组中各个元素的出现数量 12 var_dump(array_count_values($arr)); 13 ?> 14 15 结果: 16 array(13) { 17 [23]=> 18 int(2) 19 [324]=> 20 int(1) 21 [32]=> 22 int(1) 23 [45]=> 24 int(3) 25 [645]=> 26 int(1) 27 [6]=> 28 int(1) 29 [56]=> 30 int(2) 31 [5]=> 32 int(3) 33 [54]=> 34 int(1) 35 [65]=> 36 int(1) 37 [7]=> 38 int(1) 39 [63]=> 40 int(1) 41 [34]=> 42 int(1) 43 }
-
- array_diff_assoc — 带索引检查计算数组的差集
- php--两个数组相减
- array_diff_key — 使用键名比较计算数组的差集
- php--通过数组的下标进行减法运算,计算出不同下标或不同值
- array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集
- php--使用回调函数来处理两个数组的减法
- array_diff_ukey — 用回调函数对键名比较计算数组的差集
- php--使用回调函数,两个函数间不同的下标
- array_diff — 计算数组的差集
- php--两个数组是减法运算
- array_fill_keys — 使用指定的键和值填充数组
- php--关系一对多,数组的每个元素,对应另个数组的所有元素
- array_fill — 用给定的值填充数组
- 语法 array_fill(索引的位置起始,数量,元素的值)
-
1 <?php 2 //设置文件的编码为 utf-8,以便识别中文 3 header(\'Content-type:text/html;charset=utf-8\'); 4 5 //让结果,按原先的格式输出 6 echo \'<pre>\'; 7 8 $arr1 = array(111,222,333); 9 $arr2 = array(111,222,333); 10 11 var_dump(array_fill(0,2,\'a\')); 12 ?> 13 14 结果: 15 array(2) { 16 [0]=> 17 string(1) "a" 18 [1]=> 19 string(1) "a" 20 }
array_filter — 用回调函数过滤数组中的单元- 语法:array_filter(数组名, 回调函数)
-
1 <?php 2 //设置文件的编码为 utf-8,以便识别中文 3 header(\'Content-type:text/html;charset=utf-8\'); 4 5 //让结果,按原先的格式输出 6 echo \'<pre>\'; 7 8 $arr = array( 9 254235,34,534,654,75,8,9,677,423,5,7,6435,43543,4,5,7,65,765,3 10 ); 11 12 var_dump(array_filter($arr,\'odd\')); 13 14 function odd($var){ 15 return($var & 0); 16 } 17 ?> 18 19 结果: 20 //return($var & 0); 21 array(0) { 22 23 } 24 25 26 //return($var & 1); 27 array(14) { 28 [0]=> 29 int(254235) 30 [4]=> 31 int(75) 32 [6]=> 33 int(9) 34 [7]=> 35 int(677) 36 [8]=> 37 int(423) 38 [9]=> 39 int(5) 40 [10]=> 41 int(7) 42 [11]=> 43 int(6435) 44 [12]=> 45 int(43543) 46 [14]=> 47 int(5) 48 [15]=> 49 int(7) 50 [16]=> 51 int(65) 52 [17]=> 53 int(765) 54 [18]=> 55 int(3) 56 } 57 58 //return($var & 2); 59 array(11) { 60 [0]=> 61 int(254235) 62 [1]=> 63 int(34) 64 [2]=> 65 int(534) 66 [3]=> 67 int(654) 68 [4]=> 69 int(75) 70 [8]=> 71 int(423) 72 [10]=> 73 int(7) 74 [11]=> 75 int(6435) 76 [12]=> 77 int(43543) 78 [15]=> 79 int(7) 80 [18]=> 81 int(3) 82 }
array_flip — 交换数组中的键和值- 语法:array_flip(数组名);
-
1 <?php 2 //设置文件的编码为 utf-8,以便识别中文 3 header(\'Content-type:text/html;charset=utf-8\'); 4 5 //让结果,按原先的格式输出 6 echo \'<pre>\'; 7 8 $arr = array( 9 \'name\'=>\'sows\', 10 \'sex\'=>\'mm\', 11 \'age\'=>\'23\' 12 ); 13 14 var_dump(array_flip($arr)); 15 ?> 16 17 结果: 18 array(3) { 19 ["sows"]=> 20 string(4) "name" 21 ["mm"]=> 22 string(3) "sex" 23 [23]=> 24 string(3) "age" 25 }
array_intersect_assoc — 带索引检查计算数组的交集- 语法:array_intersect_assoc(数组1,数组2,数组3.......);
-
1 <?php 2 //设置文件的编码为 utf-8,以便识别中文 3 header(\'Content-type:text/html;charset=utf-8\'); 4 5 //让结果,按原先的格式输出 6 echo \'<pre>\'; 7 8 $arr1 = array( 9 \'name\'=>\'sows\',\'age\'=>\'23\',\'sex\'=>\'mm\' 10 ); 11 12 $arr2 = array( 13 \'age\'=>\'23\',\'sex\'=>\'mm\',\'name\'=>\'sows\' 14 ); 15 16 var_dump(array_intersect_assoc($arr1,$arr2)); 17 18 ?> 19 20 结果: 21 array(3) { 22 ["name"]=> 23 string(4) "sows" 24 ["age"]=> 25 string(2) "23" 26 ["sex"]=> 27 string(2) "mm" 28 } 29 30 ============================= 31 <?php 32 //设置文件的编码为 utf-8,以便识别中文 33 header(\'Content-type:text/html;charset=utf-8\'); 34 35 //让结果,按原先的格式输出 36 echo \'<pre>\'; 37 38 $arr1 = array( 39 \'name\'=>\'sows\',\'age\'=>\'23\',\'sex\'=>\'mm\' 40 ); 41 42 $arr2 = array( 43 \'a1ge\'=>\'23\',\'sex\'=>\'m1m\',\'name\'=>\'sows\' 44 ); 45 46 $arr3 = array( 47 \'age\'=>\'23\',\'sex\'=>\'mm\',\'name\'=>\'sows\' 48 ); 49 50 51 var_dump(array_intersect_assoc($arr1,$arr2,$arr3)); 52 53 ?> 54 55 56 结果: 57 array(1) { 58 ["name"]=> 59 string(4) "sows" 60 }
array_intersect_key — 使用键名比较计算数组的交集- 语法:array_intersect_key(数组1,数组2,数组3.。。。。。。。。);
- 说明:获取所有数组中,相同的键名,然后键名对应的元素,由第一个数组的元素来提供,元素排序由第一数组决定
-
1 <?php 2 3 //设置文件的编码为 utf-8,以便识别中文 4 header(\'Content-type:text/html;charset=utf-8\'); 5 6 //让结果,按原先的格式输出 7 echo \'<pre>\'; 8 9 $arr1 = array( 10 \'name\'=>\'苏俄\', 11 \'age\'=>\'34\', 12 \'sex\'=>\'mm\' 13 ); 14 15 $arr2 = array( 16 \'name\'=>\'苏俄\', 17 \'age\'=>\'342\', 18 \'sex\'=>\'mm\' 19 ); 20 21 $arr3 = array( 22 \'name\'=>\'苏俄\',\'sex\'=>\'mm\', 23 \'age\'=>\'342\' 24 25 ); 26 27 var_dump(array_intersect_key($arr1,$arr2)); 28 var_dump(array_intersect_key($arr2,$arr1)); 29 var_dump(array_intersect_key($arr3,$arr1,$arr2)); 30 var_dump(array_intersect_key($arr3,$arr2,$arr1)); 31 32 ?> 33 34 结果: 35 array(3) { 36 ["name"]=> 37 string(6) "苏俄" 38 ["age"]=> 39 string(2) "34" 40 ["sex"]=> 41 string(2) "mm" 42 } 43 array(3) { 44 ["name"]=> 45 string(6) "苏俄" 46 ["age"]=> 47 string(3) "342" 48 ["sex"]=> 49 string(2) "mm" 50 } 51 array(3) { 52 ["name"]=> 53 string(6) "苏俄" 54 ["sex"]=> 55 string(2) "mm" 56 ["age"]=> 57 string(3) "342" 58 } 59 array(3) { 60 ["name"]=> 61 string(6) "苏俄" 62 ["sex"]=> 63 string(2) "mm" 64 ["age"]=> 65 string(3) "342" 66 }
array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引- 语法:array_intersect_uassoc(数组一,数组二。。。。。,回调函数)
- 说明:求多个数组间的交集,并使用回调函数(自定义)
-
1 <?php 2 3 //设置文件的编码为 utf-8,以便识别中文 4 header(\'Content-type:text/html;charset=utf-8\'); 5 6 //让结果,按原先的格式输出 7 echo \'<pre>\'; 8 9 $arr1 = array( 10 \'name\'=>\'sows\', 11 \'age\'=>\'25\', 12 \'sex\'=>\'mm\' 13 ); 14 15 $arr2 = array( 16 \'name\'=>\'sows\', 17 \'age\'=>\'25\', 18 \'sex\'=>\'mm\' 19 ); 20 21 $arr3 = array( 22 \'name\'=>\'sows\', 23 \'age\'=>\'215\', 24 \'sex\'=>\'mm\' 25 ); 26 27 28 29 var_dump(array_intersect_uassoc($arr1,$arr2,\'fun\')); 30 31 var_dump(array_intersect_uassoc($arr1,$arr2,$arr3,\'fun\')); 32 33 function fun($a,$b){ 34 if($a > $b){ 35 return 1; 36 }elseif($a <$b){ 37 return -1; 38 }else{ 39 return 0; 40 } 41 } 42 43 44 ?> 45 46 结果: 47 //array_intersect_uassoc($arr1,$arr2,\'fun\') 48 array(3) { 49 ["name"]=> 50 string(4) "sows" 51 ["age"]=> 52 string(2) "25" 53 ["sex"]=> 54 string(2) "mm" 55 } 56 57 //array_intersect_uassoc($arr1,$arr2,$arr3,\'fun\') 58 array(2) { 59 ["name"]=> 60 string(4) "sows" 61 ["sex"]=> 62 string(2) "mm" 63 }
array_intersect_ukey — 用回调函数比较键名来计算数组的交集- 语法:array_intersect_ukey(数组1,数组2,数组3.。。。。,回调函数)
- 说明:使用回调函数,获取所有数组中,相同的键名,然后键名对应的元素,由第一个数组的元素来提供,元素排序由第一数组决定
-
1 <?php 2 //设置文件的编码为 utf-8,以便识别中文 3 header(\'Content-type:text/html;charset=utf-8\'); 4 5 //让结果,按原先的格式输出 6 echo \'<pre>\'; 7 8 $arr1 = array( 9 \'name\'=>\'楼主\', 10 \'age\'=>\'15\', 11 \'sex\'=>\'GG\' 12 ); 13 14 $arr2 = array( 15 \'name\'=>\'楼主\', 16 \'sex\'=>\'GGM\', 17 \'age\'=>\'15\' 18 19 ); 20 21 var_dump(array_intersect_ukey($arr2,$arr1,\'fun\')); 22 23 function fun($a,$b){ 24 if($a > $b){ 25 return 1; 26 }elseif($a <$b){ 27 return -1; 28 }else{ 29 return 0; 30 } 31 } 32 ?> 33 34 结果:array(3) { 35 ["name"]=> 36 string(6) "楼主" 37 ["sex"]=> 38 string(3) "GGM" 39 ["age"]=> 40 string(2) "15" 41 }
array_intersect — 计算数组的交集- 语法:array_intersect(数组1,数组2,数组3.。。。。);
- 说明:从多个数组中,获取相同的元素
-
1 <?php 2 //设置文件的编码为 utf-8,以便识别中文 3 header(\'Content-type:text/html;charset=utf-8\'); 4 5 //让结果,按原先的格式输出 6 echo \'<pre>\'; 7 8 $arr1 = array(1,2,3,4,5,6); 9 $arr2 = array(1,2,31,4,51,6); 10 11 var_dump(array_intersect($arr1,$arr1)); 12 var_dump(array_intersect($arr1,$arr2)); 13 var_dump(array_intersect($arr2,$arr1)); 14 15 ?> 16 17 结果: 18 array(6) { 19 [0]=> 20 int(1) 21 [1]=> 22 int(2) 23 [2]=> 24 int(3) 25 [3]=> 26 int(4) 27 [4]=> 28 int(5) 29 [5]=> 30 int(6) 31 } 32 array(4) { 33 [0]=> 34 int(1) 35 [1]=> 36 int(2) 37 [3]=> 38 int(4) 39 [5]=> 40 int(6) 41 } 42 array(4) { 43 [0]=> 44 int(1) 45 [1]=> 46 int(2) 47 [3]=> 48 int(4) 49 [5]=> 风马一族_php