PHP1.9--数组
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--数组的更多相关文章
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)
建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...
- 了解PHP中的Array数组和foreach
1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组 . 2.例子:一般的数组 这里,我 ...
- JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...
- JavaScript常见的五种数组去重的方式
▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...
- js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的
题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...
- javascript数组查重方法总结
文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...
- 掌握javascript中的最基础数据结构-----数组
这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
随机推荐
- 机器学习-反向传播算法(BP)代码实现(matlab)
%% Machine Learning Online Class - Exercise 4 Neural Network Learning % Instructions % ------------ ...
- Amazon DynamoDB
- Android开发 输入法调用学习
方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) InputMethodManager imm = (InputMethodManager) getSystemService(Context. ...
- Android开发 BottomNavigationView学习
前言 注意这个里介绍的是AndroidX的com.google.android.material.bottomnavigation.BottomNavigationView xml布局中 <co ...
- docker 个人遇到问题日志记录
system: openSUSE Leap 42.3 在openSUSE中可直接运行" sudo zypper in docker"进行安装docker-ce wakasann@l ...
- CF891D Sloth
题意:给你一棵树,你选择删掉一条边,再加上一条边(也要保证为树),问最后树上的节点能够两两完美匹配的加删边方案数? n<=5e5. 标程: #include<cstdio> #inc ...
- 系列文章:云原生Kubernetes日志落地方案
在Logging这块做了几年,最近1年来越来越多的同学来咨询如何为Kubernetes构建一个日志系统或者是来求助在这过程中遇到一系列问题如何解决,授人以鱼不如授人以渔,于是想把我们这些年积累的经验以 ...
- 转-Pycharm中运行Python代码的几种方式
转自:Pycharm中运行Python代码的几种方式 在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式 ...
- 70 二叉树的层次遍历 II
原题网址:http://www.lintcode.com/zh-cn/problem/binary-tree-level-order-traversal-ii/ 给出一棵二叉树,返回其节点值从底向上的 ...
- 2019牛客暑期多校赛(第三场)B-求01串中的最长01数量相等的子串和子序列
https://ac.nowcoder.com/acm/contest/883/B 首先先把0所在的位置变-1,1所在位置变1,然后统计一个前缀和,用sum[i]表示. 那么如果从起点开始的话只要满足 ...