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;
}
完整代码:
<!--wxfollow start-->
<?php
$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));
?>
<!--wxfollow end-->
效果图:
微信扫描下方的二维码阅读本文
阅读剩余
版权声明:
标题:PHP中查找二维数组中是否存在某个值,并删除某个key值进行重组
作者:admin
链接:https://www.kmtky.com/392.html
文章版权归作者所有,未经允许请勿转载。
声明:仅供内部测试和技术交流使用,任何非法商业使用及商业利益冲突带来的法律纠纷,与本人无关,本人概不负责,请下载后24小时内删除,谢谢合作!如有侵权请于作者联系,尽快删除。
标题:PHP中查找二维数组中是否存在某个值,并删除某个key值进行重组
作者:admin
链接:https://www.kmtky.com/392.html
文章版权归作者所有,未经允许请勿转载。
声明:仅供内部测试和技术交流使用,任何非法商业使用及商业利益冲突带来的法律纠纷,与本人无关,本人概不负责,请下载后24小时内删除,谢谢合作!如有侵权请于作者联系,尽快删除。
THE END