php数组方法
查找、筛选与搜索数组元素是数组操作的一些常见功能。下面来介绍一下几个相关的函数。
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数组方法的更多相关文章
- js数组方法
数组方法清空数组1: arr.length=02: arr=[]arr.push()//往数组最后一个添加元素,会待会一个返回值,就是新的数组长度arr.unshift()//往数组的第一个添加元素, ...
- PHP常用函数、数组方法
常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前 ...
- JavaScript之数组方法整理
Array概述 除了Object类型,最常用的类型: 实质:有序的数据列表, 特性:可以动态的调整数组的大小 创建数组的两种方式 构造函数创建方式 var arr = ...
- js数组方法扩展
/** * Created by Administrator on 2016/9/1. */ //数组去重 Array.prototype.unique = function(){ this.sort ...
- Javascript数组方法(译)
在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. ...
- js中常用数组方法concat join push pop slice splice shift
javascript给我们很多常用的 数组方法,极大方便了我们做程序.下面我们来介绍下常用的集中数组方法. 比如 concat() join() push() pop() unshift() shif ...
- jquery $.each遍历json数组方法
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/ ...
- JavaScript学习笔记之 数组方法一 堆栈 和队列
数组的方法 以及 堆栈的操作的方法 JavaScript是一种弱类型语言,不像其它程序语言需要严格定义数据类型.在JavaScript中数组可以任意修改变动,这样也就出现了一个问题,如果边遍历数组边操 ...
- php 依据字符串生成相应数组方法
php 依据字符串生成相应数组方法 比如: <?php $config = array( 'project|page|index' => 'content', 'project|page| ...
- ECMAScript 5中新增的数组方法
ECMAScript 5中定义了9个新的数组方法,用于遍历.映射.过滤.检测.简化和搜索数组. 在开始介绍之前,很有必要对这几个新增的数组方法做一个概述.首先,大多数方法的第一个参数接收一个函数,并且 ...
随机推荐
- 阿里云oss怎么上传文件夹
最近公司在做工程项目,实现文件夹云存储上传 网上找了很久,发现很多项目都存在一些问题,但还是让我找到了一个成熟的项目. 工程: 对项目的文件夹云存储上传功能做出分析,找出文件夹上传的原理,对文件夹的云 ...
- HDFS块文件和存放目录的关系
详情请参见DatanodeUtil.java中的函数idToBlockDir(File root, long blockId). 如果block文件没有放在正确的目录下,则DataNode会出现&qu ...
- 关于2011年meng-meng组产品《豆酱》的Review
这个组是一个做手机应用的组,比较有特色. 经过我们的一致讨论,得出我们组对前辈的有关选题.团队.产品等几个方面的看法,以及我们的感想. 选题的特点: 这个选题对于一个短期项目来说是很合适的,经过较为详 ...
- 在windows右键菜单中加入自己的程序 [转载]
原文链接: http://blog.csdn.net/marklr/article/details/4006356 在windows右键菜单中加入自己的程序 标签: windowsattribute ...
- 在 Ubuntu 16.04上安装 vsFTPd
在 Ubuntu 16.04上安装 vsFTPd Ubuntu vsFTPd 关于 vsFTPd vsFTPd 代表 Very Secure File Transfer Protocol Daemon ...
- DevExpress中获取GridControl排序之后的List
public System.Collections.IList GetGridViewFilteredAndSortedData(DevExpress.XtraGrid.Views.Grid.Grid ...
- Python3.5 学习二十二
回顾: 发送请求时:发送请求头和请求数据 request.META和request.request.body 响应请求时:响应头和响应返回数据 response.HEADER和response.bod ...
- C语言Socket-单工通信(客户端向服务器发送数据)
服务端(server) #include <stdio.h> #include <winsock2.h> #pragma comment(lib,"ws2_32.li ...
- USACO December 铂金Maxflow
USACO 2015 December Contest, Platinum Problem 1. Max Flow Farmer John has installed a new system of ...
- Class和普通js构造函数的区别
Class 在语法上更加贴合面向对象的写法 Class 实现继承更加易读.易理解 更易于写 java 等后端语言的使用 本质还是语法糖,使用 prototype Class语法 typeof Math ...