2019独角兽企业重金招聘Python工程师标准>>>

我不知道PHP初学者是怎么学习函 数的,但是我认为学习他一定是有目的性,它是目的驱动的,以数组函数为例!这么多的数组函数我们该怎么学习?其实我们只需要清楚,我们需要对数组做哪些操 作,然后把这些操作归类,心中就有了大概的印象,然后随着你的实践,这些函数你就很清楚了,在这里提醒大家的是手册要常备!废话不多说,数组函数一般归为 以下几类(看到英文别怕哦):
Outputting arrays
Creating arrays
Testing for an array
Locating array elements
Traversing arrays
Determining array size and element uniqueness
Sorting arrays
Merging, slicing, splicing, and dissecting arrays

Outputting arrays
print_r()
不熟悉这个的我就不想多说了!最基本的函数,当然要输出数组也可是使用循环结构输出,不过有这么方便的输出函数干吗不用呢!

Creating arrays
array()
这个函数我也不想说了,这其实只能算语言结构,大家在新建数组的时候都用到过,没用过的我只能说,兄弟,我无语了!
list()
这个函数和上面提到的array()一样,只是个语言结构,它通过一步操作给一组变量赋值!
具体示例请查看手册!
range();
array range ( mixed low, mixed high[, number step] )
建立一个包含指定范围单元的数组
示例:$arr =range(0, 6);
相当于$arr =array(0, 1, 2, 3, 4, 5, 6);
一般数据按从低到高排列,如果low> high,则从高到低排列;

Testing for an array
is_array();
测试变量是否array类型,是则返回true,不是则返回false,很基本,很实用的函数!

Adding and removing array elements
array_push()
int array_push ( array &target_array,mixed var [, mixed ...] )
将一个或多个单元从末尾添加至数组!返回新数组的单元总数!
示例:

复制PHP内容到剪贴板

PHP代码:

$states =array(‘Ohio’, ‘New York’);
array_push($states, ‘California’,‘Texas’);
//output: array((‘Ohio’,‘New York’ , ‘California’,‘Texas’);

array_pop();
弹出并返回数组的最后一个单元,并将数组长度减一。使用后会重置数组指针!
示例:

复制PHP内容到剪贴板

PHP代码:

$states =array(‘Ohio’, ‘New York’);
$state = array_pop($states);
//output: New York

array_shift();
与array_pop类似,只不过它移出和返回的是数组的第一个值。数字键名将重新从零开始记数,文字键名则保持不变!

array_unshift();
与array_push类似,只不过是从数组头部插入数据!数字键名将重新从零开始记数,文字键名则保持不变!

array_pad();
array array_pad ( array input, intpad_size, mixed pad_value )
用值将数组填充到指定长度!
pad_size为正,则从右侧开始填补,为负,从左侧开始填补,小与数组长度,则保持数组不变!示例见手册!

Locating array elements
in_array();
检查数组中是否存在某个值,基础,不说了,具体见手册!

array_keys();
array array_keys ( array input [,mixed search_value [, bool strict]] )
返回数组中的所有键名。如果选定search_value,则返回选定的键名!自PHP 5]起,可以用strict参数来进行全等比较(===)。

array_key_exists();
bool array_key_exists ( mixed key,array search )
检查给定的键名或索引是否存在于数组中,存在则返回true。一些更具体的应用记得查看手册!

array_values();
array array_values ( array input )
与array_keys()类似!返回的是数组的所有键值!

array_search();
mixed array_search ( mixed needle,array haystack [, bool strict] )
在 haystack中搜索 needle参数并在找到的情况下返回键名,否则返回FALSE
如果needle是字符串,则比较区分大小写!
如果strict是true,还得比较类型
如果needle在haystack中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用array_keys()加上可选参数search_value来代替!
Traversing arrays

key();
mixed key ( array &array )
返回数组中当前单元的键名!

reset();
重置数组的指针。

each();
返回数组中当前单元的键/值对,并将指针下移一位!

current();
返回当前被内部指针指向的数组单元的值,并不移动指针。如果超出了单元列表的末端,则返回false。

end();
将array的内部指针移动到最后一个单元并返回其值。

next();
返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回 FALSE

prev();
返回数组内部指针指向的前一个单元的值,或当没有更多单元时返回 FALSE

array_walk();
bool array_walk ( array &array,callback funcname [, mixed userdata] )
具体描述请参考手册!
示例:

array_reverse();
array array_reverse ( array array [,bool preserve_keys] )
接受数组array作为输入并返回一个单元为相反顺序的新数组,如果preserve_keys为TRUE则保留原来的键名。
示例:

复制PHP内容到剪贴板

PHP代码:

$states =array(‘Delaware’, ‘Pennsylvania’,‘New Jersey’);
print_r(array_reverse($states));
//Array ([0]=>New Jersey [1]=>Pennsylvania[2]=>Delaware)
$states = array(‘Delaware’, ‘Pennsylvania’, ‘New   Jersey’);
print_r(array_reverse($states, 1));
//Array ([2]=>New Jersey [1]=>Pennsylvania[0]=>Delaware)

array_flip();
array array_flip ( array trans )
交换数组中的键/值对,注意 trans 中的值需要能够作为合法的键名,例如需要是 integer或者string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。
如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。
示例:

复制PHP内容到剪贴板

PHP代码:

$trans =array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
//Array([1]=>b[2]=>c );

Determining array size and element uniqueness

count();
计算数组中的单元数目或对象中的属性个数,很基本哦!

array_count_values();
返回一个数组,该数组用input数组中的值作为键名,该值在input数组中出现的次数作为值。
示例:

复制PHP内容到剪贴板

PHP代码:

$array= array(1, "hello", 1, "world", "hello");
print_r(array_count_values ($array));

array_unique();
array array_unique ( array array )
接受 array作为输入并返回没有重复值的新数组。
示例:

复制PHP内容到剪贴板

PHP代码:

$input =array("a" => "green", "red", "b"=> "green", "blue", "red");
$result = array_unique($input);
print_r($result);

详细用法请参见手册!

Sorting arrays

sort();
本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。
注意: 本函数为array中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

natsort();
利用自然排序法对数组进行排序!
示例:

复制PHP内容到剪贴板

PHP代码:

$array1 =$array2 = array("img12.png", "img10.png","img2.png", "img1.png");
sort($array1);
echo "Standard sorting\n";
print_r($array1);

natsort($array2);
echo "\nNatural order sorting\n";
print_r($array2);

natcasesort();
与natsort()一致,除了不区分大小写!

rsort();
与sort()一致,这个是逆向排序。
asort();
与sort()一直,但保持键名不变。
array_multisort();
对多个数组或多维数组进行排序,具体参考手册,有详细说明!
arsort();
与rsort()类似,但保持键名不变。
ksort();
与sort()类似,对键名进行排序。
krsort();
与ksort()类似,但是逆向排序。
usort();
利用用户自定义函数对数组进行排序!
Merging, slicing, splicing, and dissectingarrays

array_combine();
array array_combine ( array keys,array values )
创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

array_merge();
array array_merge ( array array1 [,array array2 [, array ...]] )
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。
然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
示例:

复制PHP内容到剪贴板

PHP代码:

$array1 =array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" =>"green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

复制PHP内容到剪贴板

PHP代码:

$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);

如果你想完全保留原有数组并只想新的数组附加到后面,用+运算符:

复制PHP内容到剪贴板

PHP代码:

$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;

array_merge_recursive();
array array_merge_recursive ( arrayarray1 [, array ...] )
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。

复制PHP内容到剪贴板

PHP代码:

$ar1 = array("color" =>array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" =>"green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);

更详细的使用请参加手册!

array_slice();
array array_slice ( array array, intoffset [, int length [, bool preserve_keys]] )
从数组中取出一段。
如果offset非负,则序列将从array中的此偏移量开始。如果offset为负,则序列将从array中距离末端这么远的地方开始。
如果给出了length并且为正,则序列中将具有这么多的单元。如果给出了length并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从offset开始一直到array的末端。
示例:

复制PHP内容到剪贴板

PHP代码:

$input = array("a","b", "c", "d", "e");
$output = array_slice($input, 2);      // returns"c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, , 3);   // returns "a","b", and "c"
// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));

array_splice();
array array_splice ( array&input, int offset [, int length [, array replacement]] )
把input数组中由offset和length指定的单元去掉,如果提供了replacement参数,则用replacement数组中的单元取代。返回一个包含有被移除单元的数组。注意input中的数字键名不被保留。
如果offset非负,则序列将从array中的此偏移量开始。如果offset为负,则序列将从array中距离末端这么远的地方开始。
如果给出了length并且为正,则序列中将具有这么多的单元。如果给出了length并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从offset开始一直到array的末端。
具体应用参见手册!

array_intersect();
array array_intersect ( arrayarray1, array array2 [, array ...] )
返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。
示例:

复制PHP内容到剪贴板

PHP代码:

$array1 =array("a" => "green", "red","blue");
$array2 = array("b" => "green", "yellow","red");
$result = array_intersect($array1, $array2);

array_intersect_assoc();
注意和array_intersect()不同的是键名也用于比较。

array_diff();
与array_intersect()类似,只不过它是计算数组的差集

array_diff_assoc();
与array_intersect_assoc()类似,只不过它是计算数组的差集

Other useful array functions

array_rand();
mixed array_rand ( array input [,int num_req] )
从数组中随机取出一个或多个单元。

shuffle();
bool shuffle ( array &array )
本函数打乱(随机排列单元的顺序)一个数组。
本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

array_sum();
将数组中的所有值的和以整数或浮点数的结果返回。

array_chunk();
array array_chunk ( array input, intsize [, bool preserve_keys] )
将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。
将可选参数preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。

转载于:https://my.oschina.net/adamboy/blog/30313

PHP5中数组函数总结相关推荐

  1. html中数组函数用法,SUM函数用法

    一.如图,已知每月销售清单,求累计销售额. 选择C2单元格录入公式=SUM(B$2:B2),拖动往下填充. 二.对区域求值,如果区域中有文本,将被忽略,只计算数值. =SUM(E2:J7) 三.对有错 ...

  2. php array colum,php5.5新数组函数array_column使用

    array_column 用于获取二维数组中的元素(PHP 5 >= 5.5.0),但我们有时候需要在低版本中使用,那么就可以使用下面的代码即可 PHP5.5发布了,其中增加了一个新的数组函数a ...

  3. php recordarray,php5.5新数组函数array-column使用实例

    php5.5新数组函数array-column使用实例 $lastNames = array_column($records, 2); print_r($lastNames); /* Array ( ...

  4. shell中的函数shell中的数组告警系统需求分析

    2019独角兽企业重金招聘Python工程师标准>>> 20.16/20.17 shell中的函数 函数的概念 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用 ...

  5. Linux centosVMware shell中的函数、shell中的数组、

    一.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可. 格式: function _name() { command ...

  6. shell中的函数、shell中的数组、 告警系统需求分析

    为什么80%的码农都做不了架构师?>>>    20.16/20.17 shell中的函数 shell中的函数 说明:函数就是子shell, 是一个代码段,定义完函数就可以引用它. ...

  7. Shell脚本中的函数、数组

    Shell脚本中的函数 Shell脚本中的数组 转载于:https://blog.51cto.com/13515599/2107416

  8. php去掉空格函数 防止注入,PHP_去除php注释和去除空格函数分享,虽然php5中已有php_strip_whitespace - phpStudy...

    去除php注释和去除空格函数分享 虽然php5中已有php_strip_whitespace方法可以返回删除注释和空格后的PHP源码的功能,为了学习,这里为大家提供一个自己的方法,也可以去除代码中的空 ...

  9. NumPy中特别的数组函数 By Youki~

    1 前言 今天写Python的时候,真的是醉了,哎,一言难尽~ 为什么叫特别的数组函数呢,因为这些函数的模式我之前在MATLAB中没有见过,所以特别的标明一下~ 2 Youki觉得特别的数组函数 2. ...

最新文章

  1. 通信系统未编码、卷积码与格雷码的仿真性能比较
  2. CvMat,Mat和IplImage之间的转化和拷贝
  3. MTK android flash配置
  4. 针对科技文章的多标签分类
  5. 【算法分析与设计】寻找假币问题
  6. db2存储过程手动执行没有问题_轻松解决DB2创建存储过程时遇到的错误
  7. YFI与Curve合作项目初始支持6种算法稳定币
  8. array2xml xml2array
  9. 申克称重控制器维修称重仪表VEG20612/VDB20600
  10. 多变量微积分笔记20——球坐标系
  11. iPhone 记录之 点与像素
  12. 干货:中国移动互联网行业深度报告
  13. 315晚会实在涨知识
  14. 视频剪辑技巧,给每个视频添加不同背景图
  15. 【毕业设计系列】033:基于MATLAB语言的实时变声器系统【含Matlab源码】
  16. codeforces gym 100827A Runes
  17. 一小时搭建实时数据分析平台
  18. css button阴影效果,css怎么给button设置阴影
  19. mybatis-plus代码生成器一键生成代码
  20. 安全测试:xss,cookie,xst注入攻防

热门文章

  1. MongoDB查询用法大全
  2. 常用前端代码资源(转)
  3. ajax方式表单拦截
  4. Linux kill 杀死指定进程
  5. 关于数组的 slice() 和 splice() 方法
  6. Ubuntu root 密码忘记-恢复
  7. WP SyntaxHighlighter 初探
  8. Datetime数据类型之datetime2和datetimeoffset数据类型
  9. 都9012了,这几个公众号你还没关注?
  10. gson 不忽略空_java – Gson序列化字段只有在不为null或不为空