php删除二维数组指定元素
‘壹’ 用自己的语言说出php中数组的常用函数和用法
array_filter : 过滤数组中的无效元素,可以使用回调函数过滤
array_map : 使用回调函数依次处理所有元素
implode: 将一维数组转为特定符号隔开的字符串,
explode: 将特定符号隔开的字符串转为一维数组
sort /ksort: 将数组进行升序排序
array_unique: 将数组元素去重
array_values: 取数组的值,重新组成新数组
array_pop: 取数组末尾元素并删除(队列)
array_push:将一个元素插入数组末尾(队列)
array_sum:统计数组元素的和
array_column:将二维数组中的指定KEY取出组成一个一维数组
网页链接
‘贰’ 求教php二维数组根据某一元素删除
<?php
$arr=array(
2=>array(
'catid'=>2,
'catdir'=>'notice',
),
5=>array(
'catid'=>5,
'catdir'=>'subject',
),
6=>array(
'catid'=>6,
'catdir'=>'news'
)
);
functionfindVal($arr,$dir){
foreach($arras$key=>$val){
if(in_array($dir,$val))
return$key;
}
}
functionarray_remove_by_key($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;
}
$keyz=findVal($arr,'subject');
print_r(array_remove_by_key($arr,$keyz));
?>
‘叁’ php如何删除二维中所有arr[...][0]
假设返回的数组存在闹困汪$arr里面,那么可以这么做:
foreach($arras$k=>$v){
unset($arr[$k][0]);
}
//经过上面处理之后,得液仔到的$arr就是去掉了你不想要的数据之后的数组了。尺谨
‘肆’ php 怎么删除多维数组中的元素 - 不知道键,只有值
对于多维数组的话,并且不清楚具体几维的话,那就只能使用foreach配合,递归进行遍历数组了。
以第一个明弊子数组元素作为基础,存段轮在的记录,不存在的加握槐信入基础匹配。
‘伍’ PHP怎么删除二维数组的空数组
PHP 删除空数组常用解决方案:
利用foreach循环判断来删除为空的数组,注意:如果数组元素非常多的时候,使用循环处理效率会降低。示例如下:
<?php
//定义数组
$arr=array(
"id"=>1,
"name"=>"",
"url"=>""
);
//循环判断
foreach($arras$k=>$v){
if(!$v){//判断是否为空(false)
unset($arr[$k]);//删除
}
}
print_r($arr);//Array([id]=>1[name]=>)
?>使用array_filter函数删除。array_filter是利用回调函数来对数组进行过滤,如果没有回调函数,那么默认就是删除数组中值为false的元素。示例如下:
<?php
//定义数组
$arr=array(
"id"=>1,
"name"=>"",
"url"=>""
);
//array_filter函数对数组进行过滤
$newArr=array_filter($arr);
print_r($newArr);//Array([id]=>1[name]=>)
?>
‘陆’ php 删除多维数组指定元素
foreach($data_arras$key=>$data){
if(in_array('id',array_keys($data))){
unset($data_arr[$key]['id']);
}
}
‘柒’ php中如何删除二维数组中含有指定元素的所有一维数组要求如下:
foreach( $arr as $key => $value ) {
if(in_array('w',$value)) unset($arr[$key]);
}
‘捌’ 删除数组元素实用的PHP数组函数
/**
*
从数组中删除空白的元素(包括只有空白字符的元素)
*
*
@param
array
$arr
*
@param
boolean
$trim
*/
复制代码
代码如下:
function
array_remove_empty(&
$arr,
$trim
=
true)
{
foreach
($arr
as
$key
=>
$value)
{
if
(is_array($value))
{
array_remove_empty($arr[$key]);
}
else
{
$value
=
trim($value);
if
($value
==
'')
{
unset($arr[$key]);
}
elseif
($trim)
{
$arr[$key]
=
$value;
}
}
}
}
/**
*
将一个二维数组转换为
hashmap
*
*
如果省略
$valueField
参数,则转换结果每一项为包含该项所有数据的数组。
*
*
@param
array
$arr
*
@param
string
$keyField
*
@param
string
$valueField
*
*
@return
array
*/
复制代码
代码如下:
function
array_to_hashmap(&
$arr,
$keyField,
$valueField
=
null)
{
$ret
=
array();
if($valueField)
{
foreach
($arr
as
$row)
{
$ret[$row[$keyField]]
=
$row[$valueField];
}
}
else
{
foreach($arr
as
$row)
{
$ret[$row[$keyField]]
=
$row;
}
}
return
$ret;
}