PHP根据key删除数组中指定的元素
php数组中元素的存在方式是以键值对的方式(’key’= ‘value’),有时候我们需要根据键删除数组中指定的某个元素。
function bykey_reitem($arr, $key){
if(!array_key_exists($key, $arr)){
return $arr;
}
$keys = array_keys($arr);
$index = array_search($key, $keys);
if($index !== FALSE){
array_splice($arr, $index, 1);
}
return $arr;
}
$data = array('name'= 'apple','age'= 12,'address'= 'ChinaGuangZhou');
$result = array_remove($data, 'name');
var_dump($result);
使用函数的说明:
1.array_search()
定义和用法
array_search()
函数与in_array()
一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。
如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。
语法
array_search(value,array,strict)
参数 描述 value 必需。规定在数组中搜索的值。 array 必需。被搜索的数组。 strict 可选。可能的值: true false 默认 如果值设置为 true,还将在数组中检查给定值的类型
例子 1
<?php
$a=array("a"= "Dog","b"= "Cat","c"= "Horse");
echo array_search("Dog",$a);
?
2.array_splice()
定义和用法
array_splice()
函数与array_slice()
函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。
如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。
最后生成的数组将会返回。
语法
array_splice(array,offset,length,array)
参数 描述 array 必需。规定数组。 offset 必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。 length 可选。数值。如果省略该参数,则移除数组中从 offset到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。 array 被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。
提示和注释
提示:如果函数没有删除任何元素 (length=0),则替代数组将从start 参数的位置插入。
注释:不保留替代数组中的键。
实例
<?php
$a1=array(0= "Dog",1= "Cat",2= "Horse",3= "Bird");
$a2=array(0= "Tiger",1= "Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
//输出:
Array ( [0] = Tiger [1] = Lion [2] = Horse [3] = Bird )
?
//与例子 1 相同,但是输出返回的数组:
<?php
$a1=array(0= "Dog",1= "Cat",2= "Horse",3= "Bird");
$a2=array(0= "Tiger",1= "Lion");
print_r(array_splice($a1,0,2,$a2));
?
//输出:
Array ( [0] = Dog [1] = Cat )
//length 参数设置为 0:
<?php
$a1=array(0= "Dog",1= "Cat");
$a2=array(0= "Tiger",1= "Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?
//输出:
Array ( [0] = Dog [1] = Tiger [2] = Lion [3] = Cat )
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- linux操作系统下配置ssh/sftp和权限设置方法
- linux把php升级到5.6的实操方法
- Linux sudo 漏洞可能导致未经授权的特权访问
- 在Linux中如何轻松删除源安装的软件包
- linux系统 java环境变量的配置方法
- Apache 文件上传与文件下载案例详解
- 前端CLI脚手架思路解析并从0到1搭建
- Linux中搭建完整的samba服务器全攻略(centos版)
- Linux 命令行通配符及转义符的实现
- Linux采用双网卡bond、起子接口的方式
- 在Linux分区或逻辑卷中创建文件系统的方法
- Linux下通过sed命令对kv方式的配置文件进行修改
- Linux中将txt导入到mysql的方法教程
- LNMP部署及HTTPS服务开启教程
- 在 Linux 上锁定虚拟控制台会话的实现方法