查找、筛选与搜索数组元素是数组操作的一些常见功能。下面来介绍一下几个相关的函数。

in_array()函数

in_array()函数在一个数组汇总搜索一个特定值,如果找到这个值返回true,否则返回false。其形式如下:

1 boolean in_array(mixed needle,array haystack[,boolean strict]);

来看下面的例子,查找变量apple是否已经在数组中,如果在,则输出一段信息:

1 $fruit "apple";
2 $fruits array("apple","banana","orange","pear");
3 if( in_array($fruit,$fruits) )
4     echo "$fruit 已经在数组中";

第三个参数可选,它强制in_array()在搜索时考虑类型。

array_key_exists()函数

如果在一个数组中找到一个指定的键,函数array_key_exists()返回true,否则返回false。其形式如下:

1 boolean array_key_exists(mixed key,array array);

下面的例子将在数组键中搜索apple,如果找到,将输出这个水果的颜色:

1 $fruit["apple"] = "red";
2 $fruit["banana"] = "yellow";
3 $fruit["pear"] = "green";
4 if(array_key_exists("apple"$fruit)){
5     printf("apple's color is %s",$fruit["apple"]);
6 }

执行这段代码得到的结果:

1 apple's color is red

array_search()函数

array_search()函数在一个数组中搜索一个指定的值,如果找到则返回相应的键,否则返回false。其形式如下:

1 mixed array_search(mixed needle,array haystack[,boolean strict])

下面的例子在$fruits中搜索一个特定的日期(December 7),如果找到,则返回相应州的有关信息:

1 $fruits["apple"] = "red";
2 $fruits["banana"] = "yellow";
3 $fruits["watermelon"]="green";
4 $founded array_search("green"$fruits);
5 if($founded)
6     printf("%s was founded on %s.",$founded$fruits[$founded])

程序运行结果如下:

1 watermelon was founded on green.

array_keys()函数

array_keys()函数返回一个数组,其中包含所搜索数组中找到的所有键。其形式如下:

1 array array_keys(array array[,mixed search_value])

如果包含可选参数search_value,则只会返回与该值匹配的键。下面的例子将输出$fruit数组中找到的所有数组:

1 $fruits["apple"] = "red";
2 $fruits["banana"] = "yellow";
3 $fruits["watermelon"]="green";
4 $keys array_keys($fruits);
5 print_r($keys);

程序运行结果如下:

1 Array ( [0] => apple [1] => banana [2] => watermelon )

array_values()函数

array_values()函数返回一个数组中的所有值,并自动为返回的数组提供数值索引。其形式如下:

1 array array_values(array array)

下面的例子将获取$fruits中找到的各元素的值:

1 $fruits["apple"] = "red";
2 $fruits["banana"] = "yellow";
3 $fruits["watermelon"]="green";
4 $values array_values($fruits);
5 print_r($values);

程序运行结果如下:

1 Array ( [0] => red [1] => yellow [2] => green )
 

php数组方法的更多相关文章

  1. js数组方法

    数组方法清空数组1: arr.length=02: arr=[]arr.push()//往数组最后一个添加元素,会待会一个返回值,就是新的数组长度arr.unshift()//往数组的第一个添加元素, ...

  2. PHP常用函数、数组方法

    常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前 ...

  3. JavaScript之数组方法整理

    Array概述      除了Object类型,最常用的类型:      实质:有序的数据列表,      特性:可以动态的调整数组的大小 创建数组的两种方式 构造函数创建方式  var arr = ...

  4. js数组方法扩展

    /** * Created by Administrator on 2016/9/1. */ //数组去重 Array.prototype.unique = function(){ this.sort ...

  5. Javascript数组方法(译)

    在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. ...

  6. js中常用数组方法concat join push pop slice splice shift

    javascript给我们很多常用的 数组方法,极大方便了我们做程序.下面我们来介绍下常用的集中数组方法. 比如 concat() join() push() pop() unshift() shif ...

  7. jquery $.each遍历json数组方法

    <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/ ...

  8. JavaScript学习笔记之 数组方法一 堆栈 和队列

    数组的方法 以及 堆栈的操作的方法 JavaScript是一种弱类型语言,不像其它程序语言需要严格定义数据类型.在JavaScript中数组可以任意修改变动,这样也就出现了一个问题,如果边遍历数组边操 ...

  9. php 依据字符串生成相应数组方法

    php 依据字符串生成相应数组方法 比如: <?php $config = array( 'project|page|index' => 'content', 'project|page| ...

  10. ECMAScript 5中新增的数组方法

    ECMAScript 5中定义了9个新的数组方法,用于遍历.映射.过滤.检测.简化和搜索数组. 在开始介绍之前,很有必要对这几个新增的数组方法做一个概述.首先,大多数方法的第一个参数接收一个函数,并且 ...

随机推荐

  1. Jersey RESTful WebService框架学习(七)文件上传

    引入jar包:jersey-media-multipart-2.22.jar 前端: <body> <input id="commonFile" type=&qu ...

  2. Gitolite 权限控制

    官网 http://gitolite.com/gitolite/index.html 安装配置 http://gitolite.com/gitolite/install/ 傻瓜安装教程 http:// ...

  3. python基于pillow库的简单图像处理

    from PIL import Image from PIL import ImageFilter from PIL import ImageEnhance import matplotlib.pyp ...

  4. (转)Application, Session, Cookie, Viewstate, Cache对象用法和区别

    ================================================================================         1.Applicati ...

  5. 20169207《Linux内核原理与分析》第八周作业

    本章的作业依旧包括两部分,1.阅读学习教材「Linux内核设计与实现 (Linux Kernel Development)」第教材第11,12章. 2.学习MOOC「Linux内核分析」第六讲「进程的 ...

  6. SSM_CRUD新手练习(6)分页后台控制器编写

    经过测试基础环境已经搭建好了,现在我们开始编写CRUD. 我们来看一下查询的逻辑该怎么写: 1.访问index.jsp页面 2.index.jsp页面发送查询员工的请求 3.EmployeeContr ...

  7. 记一次spring里bean无法注入的历程

    应用启动的时候失败,看了下异常,是这个---NoUniqueBeanDefinitionException. 大家都知道,这是因为有俩个类型相同的实例,在被注入的时候,spring不知道该用哪个. 但 ...

  8. 第73讲:Scala界面和事件处理编程进阶实战

    今天学习了王家林老师讲解的scala编程的第73讲,主要是文件选择器的使用.让我们通过代码来亲身体验一下. import scala.swing._import java.io.Fileimport ...

  9. Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装

    Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装 1.下载hive-0.10.0 网址是:http://archive.apache.org/dist/hive/hive-0.10 ...

  10. poj3924

    题目:给定一个起点(xw1, yw1),直线经过(xw2, yw2),速度为vw无限运动的点,还有一个起点(xt1, yt1),终点(xt2, yt2),并且在以vt速度在两者往返运动,求两者在运动中 ...