PHP学习网每天都会给大家分享一些面试题,多做题,熟悉基础,面试更有信心。同时也可以关注PHP学习网公众号查看更多面试题。1.编写以下程序的输出$str="cd";$$str="abcde";$$str.="ok";echo$cd;答案:这段代码的输出是:ok2。写入以下程序的输出$count=5;functionget_count(){static$count=0;返回$count++;}echo$count;++$count;echoget_count();echoget_count();答案:结果是5013.请列出你知道的一些开发模式(比如工厂模式,越多越好)MVC模式、单态模式、敏捷开发模式、瀑布流模式、螺旋模式、值对象模式、注册模式、伪对象模式、策略模式、迭代器模式、规范模式4.编写一个函数,尽可能高效地从标准url中提取文件扩展名。例如:http://cn.yahoo.com/abc/de/fg.php?id=1需要提取.php答案1:functiongetExt($url){$arr=parse_url($url);$file=basename($arr['path']);$ext=explode(".",$文件);return$ext[1];}答案2:functiongetExt($url){$url=basename($url);$pos1=strpos($url,".");$pos2=strpos($url,"?");if(strstr($url,"?")){returnsubstr($url,$pos1+1,$pos2-$pos1-1);}else{returnsubstr($url,$pos1);}}5。求两个日期的差值,例如2019-2-5~2020-3-6的日期差方法一:先用strtotime转成unix时间戳,然后相减,除以一天的秒数86400.方法二:用mktime转成unix时间戳,然后减去,除以一天中的秒数86400具体代码如下:方法一:classDtime{functionget_days($date1,$date2){$time1=strtotime($date1);$time2=strtotime($date2);返回($time2-$time1)/86400;}}$Dtime=newDtime;echo$Dtime->get_days('2019-2-5','2020-3-6');方法二:$temp=explode('-','2007-2-5');$time1=mktime(0,0,0,$temp[1],$temp[2],$temp[0]);$temp=explode('-','2007-3-6');$time2=mktime(0,0,0,$temp[1],$temp[2],$temp[0]);回声o($time2-$time1)/86400;6.Sort()assort()和sort()有什么区别?它们在什么情况下使用?sort()根据数组中元素的值按英文字母顺序排序,索引键会从0到n-1重新编号。主要用于数组索引键值无关时对数组进行排序。assort()PHP没有assort()函数,所以它可能是asort()的拼写错误。asort()和sort()一样,都是按照英文字母顺序排列数组的元素,不同的是所有的索引键都是保留的,特别适用于对关联数组进行排序。ksort()根据数组中索引键的值按英文字母顺序排序,特别适用于想对索引键进行排序的关联数组。关注公众号查看更多面试题
