php 二维数组查询并修改,PHP中查找二维数组中是否存在某个值,并删除某个key值进行重组...

今天遇到有人问怎么查找二维数组中是否存在某个值,并对该值所在的数组进行删除,需要的可以参考一下

示例二维数组:

$arr=array(

2 => array(

'catid' => 2,

'catdir' => 'notice',

),

5 => array(

'catid' => 5,

'catdir' => 'subject',

),

6=> array(

'catid' => 6,

'catdir' => 'news'

)

);

查找数组方法:

function findVal($arr,$dir){

foreach($arr as $key=>$val){

if(in_array($dir,$val))

return $key;

}

}

删除二维数组中某个key值

/**

* 根据key删除数组中指定元素

* @param array $arr 数组

* @param string/int $key 键(key)

* @return array

*/

function array_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;

}

完整代码:

$arr=array(

2 => array(

'catid' => 2,

'catdir' => 'notice',

),

5 => array(

'catid' => 5,

'catdir' => 'subject',

),

6=> array(

'catid' => 6,

'catdir' => 'news'

)

);

function findVal($arr,$dir){

foreach($arr as $key=>$val){

if(in_array($dir,$val))

return $key;

}

}

function array_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));

?>

效果图:

da8453da0ba27abb1ead3d36d21c9e41.png

打赏

微信、支付宝、QQ打赏

程序员,你不是一个人;Web开发QQ群:210916599加入QQ群f501df10b4f7b45359e94127383ef8e5.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值