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的更多相关文章

  1. Java菜鸟学习笔记--数组篇(三):二维数组

    定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...

  2. JavaScript学习笔记-数组

    数组 数组中的每个元素的位置是索引,索引是基于32位的由0开始的数值,最大索引为(2的32次方-2),最大长度为(2的32次方-3) 数组是无类型的:元素可为任意类型:动态的:可根据需要自动增长.缩减 ...

  3. JavaScript学习笔记——数组

    javascript数组数组是一个可以存储 一组 或是 一系列 相关数据 的 容器. 一.为什么要使用数组. (1)为了解决大量相关数据的存储和使用的问题. (2)模拟真是的世界. 二.如何创建数组 ...

  4. JavaScript学习笔记-数组(1)

    数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型.数 ...

  5. Java菜鸟学习笔记--数组篇(二):数组实例&args实例

    基本类型实例 //1.定义一个一维数组,先声明,在分配空间 int []number;//生命,没有初始化,number=null number=new int[5];//初始化为默认值,int默认值 ...

  6. js学习笔记——数组方法

    join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1# ...

  7. JS学习笔记-数组

    ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说 ...

  8. PHP学习笔记-数组(1)

    1-1 数组定义 1.什么是数组? 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组 ...

  9. php 学习笔记 数组2

    10.切割数组 array_slice(array, offset, length);返回一个由原始数组中的连续元素组成的新数组,参数1为原始数组,参数2为要复制的起始位置, 参数3要复制的个数:新数 ...

随机推荐

  1. jQuery常用效果

    1.滑动效果 向上效果:slideUp() 向下效果:slideDown() 向上与向下切换:slideToggle() 2.淡入淡出效果 显示与隐藏切换:fadeToggle() 3.显示隐藏 显示 ...

  2. codeforces 622F. The Sum of the k-th Powers 拉格朗日插值法

    题目链接 求sigma(i : 1 to n)i^k. 为了做这个题这两天真是补了不少数论, 之前连乘法逆元都不知道... 关于拉格朗日插值法, 我是看的这里http://www.guokr.com/ ...

  3. c 结构体 简单的了解

    1.声明一个学生类的 结构体 struct Student{ int age; char name[20];//长度为20的字符串 int weiht;//像正常一样的申请变量,这个变量属于结构体的一 ...

  4. FPGA知识大梳理(四)FPGA中的复位系统大汇总

    本文整合特权(吴厚航)和coyoo(王敏志)两位大神的博文.我也很推崇这两位大神的书籍,特权的书籍要偏基础一下,大家不要一听我这么说就想买coyoo的.我还是那一句话,做技术就要step by ste ...

  5. 常见排序算法C++总结

    看了总结图,我这里就总结一下 直接插入排序,冒泡排序,快速排序,堆排序和归并排序,使用C++实现 重新画了总结图 直接插入排序 整个序列分为有序区和无序区,取第一个元素作为初始有序区,然后第二个开始, ...

  6. perl5 第九章 关联数组/哈希表

    第九章 关联数组/哈希表 by flamephoenix 一.数组变量的限制二.定义三.访问关联数组的元素四.增加元素五.创建关联数组六.从数组变量复制到关联数组七.元素的增删八.列出数组的索引和值九 ...

  7. Break the Chocolate(规律)

    Break the Chocolate Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  8. [置顶] WEBSOKET服务器搭建

    简单介绍一下tomcat的webSocketAPI使用: 在这里啰嗦几句:[ 很多朋友听说webSocket不知道是什么.知道是什么不知道怎么用,知道怎么用不知道具体实现.其实我当初也是这样. 实际上 ...

  9. 用 jQuery Masonry 插件创建瀑布流式的页面

    瀑布流式的页面,最早我是在国外的一个叫 Pinterest 的网站上看到,这个网站爆发,后来国内的很多网站也使用了这种瀑布流方式来展示页面(我不太喜欢瀑布流这个名字). 我们可以使用 jQuery 的 ...

  10. 没有login页面

    "/"应用程序中的服务器错误. 无法找到资源. 说明:HTTP 404.您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用.请检查以下 URL 并确保 ...