面试题 比较运算、去扩展名的多种方法、内存回收
2017-07-07 15:40
330 查看
$a = 0 == 'xx' ? $a?0:1 : $a;
0=='xx' 先吧 ‘xx’ 转换成数字 也就是 0 再比较 $a = true
比较运算符两边的类型不同 会先转换成相同类型的值 再比较
转换对照表 http://php.net/manual/zh/types.comparisons.php
多种方法获取文件扩展名
1、拆分成数组 去最后一个
end(explode('.',$file));
2、获取最后一个 . 的位置 截取
substr($file,strrpos($file,'.')+1);
或者
3、通过pathinfo
$arr = pathinfo($file); $arr['extension'];
//或者这样return pathinfo($file,PATHINFO_EXTENSION);
4、正则
preg_replace("/.*\.(\w+)$/" ,"\\1" ,$file )
PHP是怎么回收内存的??
5.3之前是用计数器
之后对 互相引用 造成的循环计数 问题进行了完善
unset 有时只销毁了变量 没有释放内存 是因为 计数器不为0
0=='xx' 先吧 ‘xx’ 转换成数字 也就是 0 再比较 $a = true
比较运算符两边的类型不同 会先转换成相同类型的值 再比较
转换对照表 http://php.net/manual/zh/types.comparisons.php
多种方法获取文件扩展名
1、拆分成数组 去最后一个
end(explode('.',$file));
2、获取最后一个 . 的位置 截取
substr($file,strrpos($file,'.')+1);
或者
strrchr
(
$file
,
'.'
)
3、通过pathinfo
$arr = pathinfo($file); $arr['extension'];
//或者这样return pathinfo($file,PATHINFO_EXTENSION);
4、正则
preg_replace("/.*\.(\w+)$/" ,"\\1" ,$file )
PHP是怎么回收内存的??
5.3之前是用计数器
之后对 互相引用 造成的循环计数 问题进行了完善
unset 有时只销毁了变量 没有释放内存 是因为 计数器不为0
相关文章推荐
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- .net内存回收与Dispose﹐Close﹐Finalize方法
- .net内存回收与Dispose﹐Close﹐Finalize方法
- 浅谈C#内存回收与Dispose﹐Close﹐Finalize方法
- Python扩展方法及工具比较
- 绘制不规则位图方法总结,多种实现方法,全面测试比较
- 浅谈C#内存回收与Dispose﹐Close﹐Finalize方法
- .net内存回收与Dispose﹐Close﹐Finalize方法2
- .net内存回收与Dispose﹐Close﹐Finalize方法1
- ASP.NET实现文件下载(多种方法,而且都是比较常用的)
- 判断一个字符串是否全是数字的多种方法及其性能比较
- 绘制不规则位图方法总结,多种实现方法,全面测试比较
- C++内存回收——浅议C++ 中的垃圾回收方法
- .net内存回收与Dispose﹐Close﹐Finalize方法
- 浅谈C#内存回收与Dispose﹐Close﹐Finalize方法[转]
- .net内存回收与Dispose﹐Close﹐Finalize方法
- 绘制不规则位图方法总结,多种实现方法,全面测试比较!
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- .net内存回收与Dispose﹐Close﹐Finalize方法
- float和double类型的内存分布和比较方法收藏