php 学习笔记 数组3
15、使用数组
1)、并集(union) array_merge(array1,array2,array3..) 函数把两个或多个数组合并为一个数组,后面覆盖前面
2)、 交集(intersection) array_intersect(array1,array2,array3...) 函数返回两个或多个数组的交集数组(区分大小写)
3)、 差集(difference) array_diff(array1,array2,array3...) 函数返回两个数组的差集数组,可用一个或任意多个数组与第一个数组进行比较,仅有值用于比较
ps、合并两个数组,并删除相同的值
function arrayUnion($a, $b) {
$union = array_merge($a, $b);
$union = array_unique($union);
return $union
}
16、从数组中过滤元素
array_filter(array,function) 函数用回调函数过滤数组中的元素
function myfunction($v)
{
if ($v==="Horse")
{
return true;
}
return false;
}
$a=array(0=>"Dog",1=>"Cat",2=>"Horse");
print_r(array_filter($a,"myfunction"));
17、排序
php 提供三种对数组排序的方法:按键排序,不改变键的按值排序,改变键的按值排序
| 排序方法 | 升序 | 降序 | 自定义排序 |
| 键排序改变键值 | sort() | rsort() | usort() |
| 键排序不改变键值 | asort() | arsort() | uasort() |
| 键排序 | ksort() | krsort() | uksort() |
自定义排序:
function cmp($a, $b){
if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 :1;
}
$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");
uksort($a, "cmp");
while (list($key, $val) = each($a)) {
echo "$key = $val<br>\n";
}
按自然顺序排序
$array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
natsort($array2);
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)
shuffle 数组的随机排序(不保留键名)
18、翻转数组
array_reverse(array,preserve) 翻转数组中元素的内部顺序,创建新的数组并返回。如果第二个参数指定为 true,则元素的键名保持不变,否则键名将丢失。(索引数组)
array_flip() 键值互换
19、查找元素值
in_array(value,array[,type]) 函数在数组中搜索给定的值
如果给定的值 value 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。
php 学习笔记 数组3的更多相关文章
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- JavaScript学习笔记-数组
数组 数组中的每个元素的位置是索引,索引是基于32位的由0开始的数值,最大索引为(2的32次方-2),最大长度为(2的32次方-3) 数组是无类型的:元素可为任意类型:动态的:可根据需要自动增长.缩减 ...
- JavaScript学习笔记——数组
javascript数组数组是一个可以存储 一组 或是 一系列 相关数据 的 容器. 一.为什么要使用数组. (1)为了解决大量相关数据的存储和使用的问题. (2)模拟真是的世界. 二.如何创建数组 ...
- JavaScript学习笔记-数组(1)
数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型.数 ...
- Java菜鸟学习笔记--数组篇(二):数组实例&args实例
基本类型实例 //1.定义一个一维数组,先声明,在分配空间 int []number;//生命,没有初始化,number=null number=new int[5];//初始化为默认值,int默认值 ...
- js学习笔记——数组方法
join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1# ...
- JS学习笔记-数组
ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说 ...
- PHP学习笔记-数组(1)
1-1 数组定义 1.什么是数组? 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组 ...
- php 学习笔记 数组2
10.切割数组 array_slice(array, offset, length);返回一个由原始数组中的连续元素组成的新数组,参数1为原始数组,参数2为要复制的起始位置, 参数3要复制的个数:新数 ...
随机推荐
- Python 城市菜单详解(超详解)
print("--------城市查询系统---------") print("--------按数值进行查询--------") menu={" ...
- [LeetCode]题解(python):005-Longest Palindromic Substring
题目来源: https://leetcode.com/problems/longest-palindromic-substring/ 题意分析: 这道题目是输入一段不超过1000的字符串,输出最长的回 ...
- LintCode-三数之和
题目描述: 给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组. 注意事项 在三元组(a, b, c),要求a <= b <= c ...
- jQuery事件函数bind,live,delegate的区别
DOM树 首先,可视化一个HMTL文档的DOM树是很有帮助的.一个简单的HTML页面看起来就像是这个样子: 事件冒泡(又称事件传播) 当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何 ...
- 自定义标签(TagSupport )
转载:http://zhuhuide2004.iteye.com/blog/555737 这个图太好了,拿下来,标注一下:
- Convert Sorted List to Binary Search Tree ------C++ 递归创建平衡二叉查找树
有序链表 0->1->2->3->4->5 转换为一个二叉排序树.我们在此创建一个平衡二叉排序树 1.先找链表到中间的节点 2.中间节点的val创建一个新的树节点Tree ...
- Duplicate entry '97112' for key 1
1.错误描写叙述 2014-07-08 10:27:13,939 ERROR(com.you.conn.JDBCConnection:104) -com.mysql.jdbc.exceptions.j ...
- python 函数之walk
import os for root, dirs, files in os.walk("./"): print root print dirs print files 功能: ...
- Ext.MessageBox.Show使用Progress
在此之前,先添加引用:以下引用方式仅供参考:由于我的extjs文件夹放在script文件夹下 <link href="~/Scripts/extjs/resources/ext-the ...
- 解决centos7安装wmwaretools找不到kernel header
解决centos6安装wmwaretools找不到kernel header http://www.centoscn.com/CentosBug/softbug/2015/0525/5531.html ...