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个新的数组方法,用于遍历.映射.过滤.检测.简化和搜索数组. 在开始介绍之前,很有必要对这几个新增的数组方法做一个概述.首先,大多数方法的第一个参数接收一个函数,并且 ...
随机推荐
- redis.conf之save配置项解读
配置示例: save 900 1 save 300 10 save 60 3600 配置解读: 1) “save 900 1”表示如果900秒内至少1个key发生变化(新增.修改和删除),则重写rdb ...
- 树形控件(CTreeCtrl和CTreeView)
如何插入数据项目? 如何添加鼠标右击事件? 插入数据项 通过InsertItem()方法,有四种重载样式: HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsert ...
- bzoj2893(费用流)
先缩点,然后拆点,其实是很经典的一种操作,把不好做的点拆成边,然后我一开始想的是网络流,答案当然是增广次数, 但可以发现跑网络流的话不同的跑法增广次数不一样,不太好找最小的.我们可以换一种神奇的思路, ...
- (树)Subtrees -- hdu -- 5524
http://acm.hdu.edu.cn/showproblem.php?pid=5524 Subtrees Time Limit: 2000/1000 MS (Java/Others) Me ...
- 关于git的ssh permission denied原因汇总
SSH关于公钥认证Permission denied (publickey,gssapi-with-mic的问题 http://h2appy.blog.51cto.com/609721/1112797 ...
- C#、.Net经典面试题目及答案
1 请你说说 .NET 中类和结构的区别? 答:结构和类具有大体的语法,但是结构受到的限制比类要多.结构不能申明有默认的构造函数,为结构的副本是又编译器创建 和销毁的,所以不需要默认的构造函数和 ...
- CI、CD和dev-ops概念
传统的开发方式是:需求方提供文档,实现方按照文档一步步开发,中间很少变动和修改. 但是随着市场的变化,产品更新迭代的加快,也要求开放方更快的响应变化,用最短的时间开发,部署上线. 这样,持续集成(CI ...
- 使用dbms_profiler包测试存储过程性能
原文地址 http://hi.baidu.com/edeed/blog/item/345401e9a8851d38b80e2db4.html dbms_profiler用来测试PL/SQL代码非常 ...
- vmtools是灰色不可用的
- 基于Redis的CAS集群
单点登录(SSO)是复杂应用系统的基本需求,Yale CAS是目前常用的开源解决方案.CAS认证中心,基于其特殊作用,自然会成为整个应用系统的核心,所有应用系统的认证工作,都将请求到CAS来完成.因此 ...