1.array_slice()函数作用是在数组中根据条件取出一段值并返回,如果数组有字符串键,所返回的数组将保留健名

array array_slice(array array ,int offset [,int length [,bool] preserve_keys]])

第一个参数是必须的,调用输入要处理的数组 第二个参数也是必须的,传人一个数值,规定取出元素的开始位置 如果是正数,则从前往后开始去

如果是负数,从后向前去offset 的绝对值 第三个参数,传人一个数值,规定被返回数组的长度,如是负数从后向前,选取该值的绝对值数目元素

如果没有设置,则返回所有元素 第四个参数可选布尔类型,如果为true返回数组保留键名 默认值false 重新设置默认键值

示例:

$arraylamp  =array("linx","apache","mysql","php");

//从第二个开始取2个元素

print_r(array_slice($arraylamp,1,2));

//从后面第二取一个元素

print_r(array)slice($arraylamp,-2,1));

2.array_splice()作用是选择数组中的一系列元素,但不返回,而是删除并且用其他代替如果第四个参数提供,则之前选中的那些元素将被第四个

参数指定的数组取代,最后生成数组返回

array array_splice(array $array ,int offset [,int length [,array replacement]] )

第一个参数必须,规定处理数组,第二个参数offset也是必须,传人数组,offset为正数,则从输入数组中该值指定的偏移量开始,如果offset

为负,则从输入数组末尾倒数该值指定的偏移量开始移除 第三个参数,也需要一个数值,如果省略该参数,则移除数组中从offset到结尾的所有

如果length 为正,移除这么多元素,为负,移除offset 到数组末尾倒数length为止中间所有元素 第四个参数可选,被移除的元素由此数组中

元素替代,如果没有移除任何值,则次数组中元素将插入到指定位置。

示例:

$input =array("linux","apache","mysql","php");

array_splice($input ,2)//删除第二个元素以后所有元素

print_r($input);

//从第二个元素开始到倒是第一个位置中间所有元素

array_splice($input ,1,-1);

//最后一个元素被第四个参数值替代

array_splice($input ,-1,1,array("web","www"));

3.array_combine()作用是通过合并两个数组来创建一个新数组,其中一个数组是键名,另一个是数组的值为键值。如果其中一个数组为空,

或者两个数组的元素个数不同,则该函数返回false

array array_combine(array keys,array values)

示例:

$a1=array("os","webserver");

$a2=array("linux","apache");

print_r(array_combine($a1,$a2));

4array_merge()作用吧一个或多个数组合并为一个数组,如果键名重复,该键的键值为最后一个键名对应的值,如果数组是数字索引

则键名会以连续方式重新索引,注意人如果仅仅向array_merge()函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的

新数组,其键名以0开始进行重新索引。

array array_merge( array array1 [,array array2 [,array ....]])

示例:

$a1=array("a"=>"linux","b"=>"apache");

$a2=array("c"=>"mysql","b"=>"php");

print_r($a1,$a2);

$a=array(3=>"PHP",4=>"mysql");

print_r(array_merge($a)); //0开始重新索引

5array_intersect()作用是计算数组交集 返回结果是数组中包含来所有在被比较数组中,也同时出现所有其他参数数组的值,键名保留不变

array array_intersect(array array1,array array2 [,array ...])

示例:

$a=array("linux","apache","mysql");

$b=array("linux","tomact","mysql");

print_r(array_intersect($a,$b));

6.array_diff() 函数作用返回两个数组差集数组,该数组包括来所有在被比较的数组,但是不在任何其他参数数组中的元素值,返回数组,键名不变

array array_diff(array array1,array array2 [,array ...])

示例:

$a1=array("linux","mysql","apache");

$a2=array("linux","mysql","tomcat");

print_r(array_diff($a1,$a2))

PHP1.9--数组的更多相关文章

  1. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  2. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  3. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

    建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...

  4. 了解PHP中的Array数组和foreach

    1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组    . 2.例子:一般的数组 这里,我 ...

  5. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  6. JavaScript常见的五种数组去重的方式

    ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...

  7. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  8. javascript数组查重方法总结

    文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...

  9. 掌握javascript中的最基础数据结构-----数组

    这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...

  10. 小兔JS教程(四)-- 彻底攻略JS数组

    在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...

随机推荐

  1. Pascal的sin^-1函数实现

    function unsin(t:real):real; var l,r,ans,mid:longint; function dsin(z:real):real; begin exit(sin(z*p ...

  2. [转]async & await 的前世今生(Updated)

    async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们编程埋下了一些隐 ...

  3. C++萃取技术的一个简单初探

    首先本文并不是讲解C++萃取技术,关于C++的萃取技术网上有很多文章,推荐http://www.cppblog.com/woaidongmao/archive/2008/11/09/66387.htm ...

  4. Serverless Kubernetes全面升级2.0架构:支持多命名空间、RBAC、CRD、PV/PVC等功能

    Serverless Kubernetes概述: 阿里云Serverless Kubernetes容器服务最新开放香港.新加坡.悉尼区域,同时全面开放2.0架构,帮助用户更加便捷.轻松地步入“以应用为 ...

  5. 【玲珑杯 round#18 A】计算几何你瞎暴力

    [Link]:http://www.ifrog.cc/acm/problem/1143?contest=1020&no=0 [Description] [Solution] 因为每个点的(xi ...

  6. ng-zorro-mobile中遇到的问题

    一.Modal(弹出框)使用上的问题 在官方文档中,Modal是这样使用的: 这里需要注意的一点就是,看到上方代码中只用了Modal的全局方式,所以个人认为下面这段注入初始化的东西是没有用的便去掉: ...

  7. escape encodeURI和encodeURIComponent的区别

    escape(与之对应->unescape) escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读.编码之后的效果是%XX或者%uXXXX这种形式 ...

  8. call和apply的应用

    相同点 都能够改变方法的执行上下文(执行环境),将一个对象的方法交给另一个对象来执行,并且是立即执行 var arrayLike = { 0: 'item1', 1: 'item2', 2: 'ite ...

  9. 深入理解JVM(一)类加载器部分、类变量、常量、jvm参数

    类加载概述 在java代码中,类型的加载.连接与初始化过程都是在程序运行期间完成的 类型:class.interface(object本身).类型可在运行期间生成,如动态代理.一种runting概念 ...

  10. Foundation框架系列-NSString

    NSString OC字符串与C语言字符串转换 NSString *str = @"Hello world ! !"; // OC字符串 --> C语言字符串 char *c ...