时间:2021-07-01 10:21:17 帮助过:17人阅读
我现在知道的优化就是小循环外面,好像在这没啥用。
请问各位大侠我该怎么优化ne ? 领导说放内存里什么的。
基本就是2个大数组不停的循环算权重。
_aItems = $aItems;
$this->_aMatchs = array();
$this->_aShow = array();
}
public function newTable($aTable){
if (!is_array($aTable))
$aTable = (array)$aTable;
$this->_aTable = $aTable;
$this->generateDict();
}
private function generateDict() {
//将字典处理成数组形式
$convert = function($value) {
$value = str_replace('|', ',', $value);
$value = explode(',', $value);
return $value;
};
$this->_aDict = array_map($convert, $this->_aTable);
}
public function getMatchs() {
//返回对照表
return $this->_aMatchs;
}
public function getShow($sRule = 'debug') {
/*返回格式化的结果集
* $sFormat: 指定输出格式
*/
if (empty($this->_aItems)||empty($this->_aTable))
//字典源文件不存在
return false;
if (empty($this->_aShow)) {
/*匹配表还没有生成,自动调用相应的命令生成*/
$this->loopTable();
}
$makeDumpStr = function($value, $key) use (&$dumpStr) {
//生成导出文件的文本
if (count($value) >1) {
foreach ($value as $valueOne) {
$valueStr .= $valueOne. ',';
}
$dumpStr .= $this->_aItems[$key] . "\t匹配多个记录号\t". $valueStr ."\r\n";
} else {
$dumpStr .= $this->_aItems[$key] . "\t匹配惟一记录号\t". $value[0] ."\r\n";
}
};
switch($sRule) {
case 'debug':
print_r($this->_aShow);
break;
case 'json':
return json_encode($this->_aShow);
break;
case 'txt':
$timeExport = date("Y/M/D h:i:s");
$dumpStr = '';
$rFile = fopen('dump.txt', 'w');
array_walk($this->_aShow, $makeDumpStr);
$sContent = <<http://www.bkjia.com/PHPjc/625800.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/625800.htmlTechArticle小妹刚刚改投PHP门下。领导叫我把这段代码的执行效率优化一下 我现在知道的优化就是小循环外面,好像在这没啥用。 请问各位大侠我该...