php删除二维数组的某一行某一列_php中怎么去除二维数组的某个字段?

这篇博客探讨了如何使用PHP处理包含'on'字段的二维数组,通过array_diff和array_walk函数移除该字段,以及如何在遍历时忽略'on'进行位运算。示例代码展示了多种实现方式,适用于需要过滤数组元素或进行位运算的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,需求:有如下二维数组,怎么去除此数组的字段"on" 生成一个新数组 $arr2

$arr = array("net" => array("on", "11", "101", "1001"),

"login" => array("on", "10001","100001","1000001"));

$arr2 = array("net" => array( "11", "101", "1001"),

"login" => array("10001","100001","1000001"));

或者遍历时候去掉on也行

2,能达到这样的效果也可以

$arr = array("net" => array("on","1", "2","4"),

"login" => array("on","10001","100001","10000001")

);

$str ='';

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

foreach ($value as $k =>$v){

$str=$str|$v;

}

}

var_dump($str);

//值运算后面数字的或运算得到值$str,"on"这个字段是不能参加运算的

回复讨论(解决方案)

1、这样去掉$arr = array( "net" => array("on", "11", "101", "1001"), "login" => array("on", "10001","100001","1000001"));array_walk($arr, function(&$t) { $t = array_diff($t, array('on'));});print_r($arr); Array( [net] => Array ( [1] => 11 [2] => 101 [3] => 1001 ) [login] => Array ( [1] => 10001 [2] => 100001 [3] => 1000001 ))

2、这样运算 $arr = array( "net" => array("on", "11", "101", "1001"), "login" => array("on", "10001","100001","1000001"));$str ='';foreach ($arr as $key=>$value){ foreach ($value as $k =>$v){ if($v != 'on') $str = $str|$v; }}var_dump($str); string(7) "1111111"

$arr = array("net" => array("on", "11", "101", "1001"), "login" => array("on", "10001","100001","1000001"));delon($arr);print_r($arr);function delon(&$arr){foreach($arr as $key=>&$val){foreach($val as $k=>$v){if($v=='on'){unset($val[$k]);}}}}

Array

(

[net] => Array

(

[1] => 11

[2] => 101

[3] => 1001

)

[login] => Array

(

[1] => 10001

[2] => 100001

[3] => 1000001

)

)

好的,灰常感谢

2$arr = array("net" => array("on","1", "2","4"), "login" => array("on","10001","100001","10000001"));delon($arr);$str ='';foreach ($arr as $key=>$value){ foreach ($value as $k =>$v){ $str=$str|$v; }}var_dump($str); function delon(&$arr){ foreach($arr as $key=>&$val){ foreach($val as $k=>$v){ if($v=='on'){ unset($val[$k]); } } }}

string(8) "70001101"

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值