php代码建议,php代码优化建议

其实,你只需要先把$userJobnumberArray数据的先用一次循环把他改成$userJobnumberArray=[deptid=>jobnumber] 这个格式,然后在执行你的外循环,内循环就不要了,直接判断 isset($userJobnumberArray[deptid]),如果存在就直接取就好了.

下面这个如何???能优化地方,也就是in_array() 这个 时间复杂度为n的操作变成了 数组索引调用这个复杂度为1的调用。

$list = array(

'1' => array('1','6','124'),

'2' => array('2','5','156'),

'4' => array('4','734','221')

);

$userJobnumberArray = array(

array(

'deptid' => '1',

'jobnumber' => 'X1414'

),

array(

'deptid' => '734',

'jobnumber' => '34j6'

),

);

$ujba = [];

foreach($userJobnumberArray as $v){

$ujba[$v['deptid']]=$v['jobnumber'];

}

unset($userJobnumberArray);

$userGruop = [];

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

foreach($v as $deptid){

if(isset($ujba[$deptid]))

$userGruop[$k][] = $ujba[$deptid];

}

}

print_r($userGruop);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值