面试题 比较运算、去扩展名的多种方法、内存回收

$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);

  或者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 

原文地址:https://www.cnblogs.com/cgjcgs/p/7132519.html