您的位置:首页 > 编程语言 > PHP开发

php in_array性能优化

2016-06-22 16:08 645 查看
使用array_flip: key,value 位置交换

isset判断是否有值

使用以上2个函数 比in_array效率高很多。

例子:

$GLOBALS['file_arr'] = array_flip($file_list);

upfiles($folder_nm,$folder_nm);

function upfiles($file_path,$path){
foreach(scandir($path) as $afile)
{
if($afile=='.'||$afile=='..') continue;
if(is_dir($path.'/'.$afile)) {
upfiles($file_path,$path.'/'.$afile);
}else {
$item = $path.'/'.$afile;
$subfix = explode('.',$item);
if(strlen($subfix[1]) == 0){
echo "图片名:".$item."没有后缀,不上传。"."\n";
continue;
}
// var_dump($files['20000/4a/149650.jpg']);exit;
$files = $GLOBALS['file_arr'];
if($files && isset($files[$item])){
echo "图片名".$files[$item]."已存在,不上传。"."\n";
continue;

}
// if(strstr($file_list,$item)){
// continue;
// }
file_put_contents("upload_".$file_path.".txt", $item."\r\n", FILE_APPEND);
echo $item."\n";
upload($item);
echo "图片上传成功。"."\n";
}
}
}

参考: http://www.tuicool.com/articles/6vErea
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: