php 学习笔记--数组篇(9)

php中很少使用的函数,了解一下还是好的。

主要功能都是比较数组,返回数组交集。

array_uintersect(array1, array2, string);

作用:

自定义函数比较俩个或者多个数组,只比较value

参数:

array1: 被比较的数组1

array2: 比较的数组2

string:自定义函数名

返回值:

返回数组的交集

例子:比较3个数组

 $a1 = array(‘a‘ => ‘red‘, ‘b‘ => ‘blue‘, ‘c‘ => ‘yellow‘); 
 $a2 = array(‘c‘ => ‘blue‘, ‘a‘ => ‘red‘); 
 $a3 = array(‘b‘ => ‘blue‘); 
  
 function myFunction($a, $b) 
 { 
     if($a === $b) 
     {   
         return 0; 
     }   
  
     return $a > $b? 1 : -1; 
 } 
  
 $res = array_uintersect($a1, $a2, $a3, ‘myFunction‘); 
 print_r($res);
 
 输出结果:
 Array
 (
    [b] => blue
 )

array_uintersect_assoc(array1, array2, string);

作用:

使用自定义函数比较俩个或者多个数组, 比较key和value

参数:

array1: 被比较的数组

array2: 比较的数组

string:函数名

返回值:

返回数组中的交集(key与value都要相同)

例子:比较3个数组

 $a1 = array(‘a‘ => ‘red‘, ‘b‘ => ‘blue‘, ‘c‘ => ‘yellow‘);
 $a2 = array(‘c‘ => ‘blue‘, ‘a‘ => ‘red‘);
 $a3 = array(‘a‘ => ‘red‘);
 
 function myFunction($a, $b) 
 {
     if($a === $b) 
     {   
         return 0;
     }   
 
     return $a > $b? 1 : -1; 
 }
 
 //$res = array_uintersect($a1, $a2, $a3, ‘myFunction‘);
 
 $res = array_uintersect_assoc($a1, $a2, $a3,‘myFunction‘);
 print_r($res);
 
 输出结果:
 Array
 (
    [a] => red
 )

array_uintersect_uassoc(array1, array2, string1, string2);

作用:

自定义key和value的比较函数比较key和value

参数:

array1: 被比较的数组1

array2: 比较的数组

string1: 自定义比较key的函数名

string2: 自定义比较value的函数名

返回值:

比较后数组的交集

例子:比较3个数组

 $a1 = array(‘a‘ => ‘red‘, ‘b‘ => ‘blue‘, ‘c‘ => ‘yellow‘);
 $a2 = array(‘c‘ => ‘blue‘, ‘a‘ => ‘red‘);
 $a3 = array(‘a‘ => ‘red‘);
 
 function myKey($a, $b) 
 {
     if($a === $b) 
     {   
         return 0;
     }   
 
     return $a > $b? 1 : -1; 
 }
 
 function myValue($a, $b) 
 {
     if($a === $b) 
     {   
         return 0;
     }   
 
     return $a > $b? 1 : -1; 
 }
 
 $res = array_uintersect_uassoc($a1, $a2, $a3, ‘myKey‘, ‘myValue‘);
 print_r($res);
 
 输出结果:
 Array
 (
    [a] => red
 )
时间: 2024-10-09 20:36:36

php 学习笔记--数组篇(9)的相关文章

JavaScript Good Parts学习笔记-数组篇

数组是一段线性分配的内存.通过计算偏移来访问其中的元素. 不幸的是,JavaScript并没有像数组一样的数据结构 作为替代,JavaScript提供了类数组的对象,把数组下标改为字符串. 1 数组字面量(Array Literals)---继承自Array.prototype,所以继承了大量有用的方法,比如length属性 var empty = [];var numbers = [    'zero', 'one', 'two', 'three', 'four',    'five', 's

Vue学习笔记入门篇——组件的通讯

本文为转载,原文:Vue学习笔记入门篇--组件的通讯 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B.它们之间必然需要相互通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件.然而,在一个良好定义的接口中尽可能将父子组件解耦是很重要的.这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性.在 Vue 中,父子组件的关系可以总结为 props down, events up.父组件通过 props 向下传递

Python学习笔记基础篇——总览

Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python

PHP学习笔记——入门篇(1)——语法&变量

基础 PHP 语法 PHP 脚本可放置于文档中的任何位置. PHP 脚本以 <?php 开头,以 ?> 结尾: PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码. 注释:PHP 语句以分号结尾(;).PHP 代码块的关闭标签也会自动表明分号(因此在 PHP 代码块的最后一行不必使用分号). PHP 支持三种注释: //单行注释 #单行注释 /*多行注释*/ PHP 大小写敏感区分: 在 PHP 中,所有用户定义的函数.类和关键词(例如 if.else.echo 等等)都对大小写不

JS学习笔记-数组

ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说明,重点汇总一些类似于对象的数组的经常用法. 对象 创建 上篇提到创建对象的两种方式: 使用new运算符创建Object var obj = new Object(); 使用字面量方式创建 var   obj = {}; 这里值得注意的是在使用字面量(常量)创建Object时不会调用构造函数. 属性

java学习笔记 第二篇 核心技术(二)

第十四章 集合类 集合类用来存放对象的引用.继承关系如下图: 14.1 Collection 接口 是层次结构中的根接口,构成Collection的单位称为元素.Collection接口不能直接使用,但该接口提供了添加元素.删除元素.管理数据的方法. Collection接口常用方法: 14.2 List 集合 包括List接口以及List集合的所有实现类.List集合中的元素允许重复,各元素循序就是对象插入的顺序 1.List接口,两个重要方法: get(int index): 获取指定索引位

Vue学习笔记入门篇——组件的使用

本文为转载,原文:Vue学习笔记入门篇--组件的使用 组件定义 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 组件使用 注册 注册一个全局组件,你可以使用 Vue.component(tagName, options).组件在注册之后,便可以在父实例的模块中以自定义元素 的形式使用.

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

PHP学习笔记-数组(1)

1-1 数组定义 1.什么是数组? 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量. 语法如下: <?php //设置某个变量为一个空数组 $arr=array(); ?> 1-2 索引数组初始化 PHP有两种数组:索引数组.关联数组. 索引和关联两个词都是针对数组的键而言的. 索引数组是指数组的键是整数的数组

SystemTap 学习笔记 - 安装篇

https://segmentfault.com/a/1190000000671438 在安装前,需要知道下自己的系统环境,我的环境如下: uname -r 2.6.18-308.el5 Linux 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux 安装 为了部署 SystemTap,需要安装以下两个 RPM 包: systemtap systemtap-runtime 以 root