php怎么去除二维数组中的某个值
去除步骤:1、循环遍历二维数组的外层数组元素,语法“foreach($arr as $k=>$v){循环体代码}”;2、在循环体中,用unset()去除指定值,语法“if(is_array($v)){$ck=array_search(值,$v);if($ck){unset($arr[$k][$ck]);}}else{if($v===值){unset($arr[$k]);}}”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
在php中,可以利用foreach语句并结合unset()函数来删除二维数组中的某个指定值。
实现步骤:
步骤1:使用foreach语句循环遍历二维数组的外层数组元素
foreach ($arr as $k => $v){ //循环体代码 }
遍历给定的 $arr 数组,在每次循环中会将当前数组的值赋给 $v,键名赋给 $k。
步骤2:在循环体中,去除二维数组中的指定值
使用is_array()函数判断外层元素是否为数组类型(是否为子数组)
-
如果是则使用array_search()获取指定值对应的键名,再根据键名使用unset()函数删除该元素
-
如果不是,则直接利用“===”判断当前元素是否为指定元素,如果是用unset()函数删除该元素。
if (is_array($v)) { $ck = array_search(指定值, $v); if ($ck) { unset($arr[$k][$ck]); } } else { if ($v === 指定值) { unset($arr[$k]); } }
完整实现代码:去除二维数组中的1
<?php header("content-type:text/html;charset=utf-8"); $arr = array(1, 2, 3, array(4, 1, 6), array(7, 8, 9, 10)); echo "原数组:"; var_dump($arr); foreach ($arr as $k => $v) { if (is_array($v)) { $ck = array_search(1, $v); if ($ck) { unset($arr[$k][$ck]); } } else { if ($v === 1) { unset($arr[$k]); } } } echo "去除元素1后:"; var_dump($arr); ?>
推荐学习:《PHP视频教程》