优化这段代码 //过滤指定渠道大类 $specified_channel = TSalesConf::getValue('filter_specified_channel_categories'); if ($specified_channel) { $specified_channel = json_decode($specified_channel, true); if (in_array($postData['channel_big_type'], $specified_channel)) { event(new SaveOperateLogEvent(OperateLog::OPERATING_CLUE, $postData['phone'] . '已转化线索同IP不下发,过滤指定渠道大类' . json_encode($postData))); break; } }
时间: 2024-04-07 09:32:38 浏览: 69
这段代码可以进行如下的优化:
1. 将 TSalesConf::getValue('filter_specified_channel_categories') 的返回值进行判断,如果为空直接退出函数或者返回。
2. 将 json_decode 放到 if 语句外面,这样可以避免每次循环都解析 JSON。
3. 使用空数组代替 if/else 分支语句,这样可以避免不必要的嵌套和代码冗余。
4. 将 in_array 中的 $specified_channel 和 $postData['channel_big_type'] 的位置互换,这样可以避免每次循环都调用 in_array 函数。
重构后的代码如下所示:
$specified_channel = TSalesConf::getValue('filter_specified_channel_categories');
if (!$specified_channel) {
return;
}
$specified_channel = json_decode($specified_channel, true);
if (in_array($postData['channel_big_type'], $specified_channel, true)) {
event(new SaveOperateLogEvent(OperateLog::OPERATING_CLUE, $postData['phone'] . '已转化线索同IP不下发,过滤指定渠道大类' . json_encode($postData)));
break;
}
阅读全文