欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

程序员找工作必备 PHP 基础面试题 (三)

程序员文章站 2022-05-11 08:25:42
程序员找工作必备 PHP 基础面试题​ 程序员找工作必备 PHP 基础面试题(二) 1. 写出下面的程序输出的结果 $str="cd"; $$str="abcde"; $$str.="ok"; echo $cd; 答案:该段代码输出是:abcdeok 2. 写出如下程序的输出结果 $count=5; ......

程序员找工作必备 php 基础面试题

程序员找工作必备 php 基础面试题(二)

1. 写出下面的程序输出的结果

$str="cd";
$$str="abcde";
$$str.="ok";
echo $cd;

  

答案:该段代码输出是:abcdeok

2. 写出如下程序的输出结果

$count=5;
function get_count(){
    static $count=0;
    return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();

  

答案:结果为 5 0 1

3. 请列举一些你所知道的开发模式 (如工厂模式,越多越好)

mvc 模式、单态模式、敏捷开发模式、瀑布流模式、螺旋模式、值对象模式、注册模式、伪对象模式、策略模式、迭代器模式、规范模式

4. 写一个函数,尽可能的高效,从一个标准 url 里取出文件的扩展名。 例如: /de/fg.php?id=1 需要取出 .php

答案 1:

function getext($url){
   $arr = parse_url($url);
   $file = basename($arr['path']);
   $ext = explode(".",$file);
   return $ext[1];
}

  

答案 2:

function getext($url) {
    $url = basename($url);
    $pos1 = strpos($url,".");
    $pos2 = strpos($url,"?");
    if(strstr($url,"?")){
         return substr($url,$pos1 + 1,$pos2 - $pos1 - 1);
    } else {
      return substr($url,$pos1);
    }
}

  

5. 求两个日期的差数,例如 2019-2-5 ~ 2020-3-6 的日期差数

 

方法一:先用 strtotime 转换成 unix 时间戳,然后相减,除以一天的秒数 86400.方法二:先用 mktime 转换成 unix 时间戳,然后相减,除以一天的秒数 86400.

具体代码如下:

方法一:

class dtime
{
function get_days($date1, $date2)
{
   $time1 = strtotime($date1);
   $time2 = strtotime($date2);
   return ($time2-$time1)/86400;
}
}
$dtime = new dtime;
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]);
echo ($time2-$time1)/86400;

  

面试题系列:

2020最新php面试题(附带答案)

分享一波腾讯php面试题

2019年php最新面试题(含答案)

redis 高级面试题 学会这些还怕进不了大厂?

面试官三年经验php程序员知识点汇总

php面试题之php核心技术

掌握 redis这些 知识点,面试官一定觉得你很 nb

php 经典面试题集

更多学习内容请访问:

腾讯t3-t4标准精品php架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)程序员找工作必备 PHP 基础面试题 (三)