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
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
相关文章推荐
- Yii错误404页面
- php取得变量的类型 php判断数据类型
- Win7 IIS7应用PHP Manager使用FastCGI通道快速部署PHP支持
- MyISAM和InnoDB区别
- PDO事务处理预处理
- 编译安装php扩展fileinfo
- php无限分类
- 为ZendStudio增加CodeIgniter的智能提\
- 一台服务器配主从
- 事务产生的脏读幻读不可重复读
- 接口安全
- php 扩展dll
- response 删除thinkphp版权标记
- 单向散列加密,对称加密,非对称加密
- 使用phpexcel解析Excel数据表并存储到数据库中全过程_PHP_thinkphp_cmf
- PHP魔术方法及其基本含义
- 第三方登录
- 接口与抽象类的区别
- PHP魔术方法使用总结
- Ubuntu 16 安装php 5.5 的方法