• PHP面试题集之基础题


    1、用PHP打印出前一天的时间格式是 2006-5-10 22:21:21

    date_default_timezone_set('PRC'); //默认时区    
    echo "今天:",date("Y-m-d",time());    
    echo "今天:",date("Y-m-d",strtotime("18 june 2008"));    
    echo "昨天:",date("Y-m-d",strtotime("-1 day"));   
    echo "昨天:",date("Y-m-d",strtotime("last day")); 
    echo "明天:",date("Y-m-d",strtotime("+1 day"));    
    echo "一周后:",date("Y-m-d",strtotime("+1 week"));    
    echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds"));    
    echo "下个星期四:",date("Y-m-d",strtotime("next Thursday"));    
    echo "上个周一:".date("Y-m-d",strtotime("last Monday"));    
    echo "一个月前:".date("Y-m-d",strtotime("last month"));    
    echo "一个月后:".date("Y-m-d",strtotime("+1 month"));    
    echo "十年后:".date("Y-m-d",strtotime("+10 year"));     
    

     2、echo(),print(),print_r()的区别

    echo 和print不是一个函数,是一个语言结构
    print(string $arg), 只有一个参数   
    echo   可以输出多个参数,返回void
    echo和print只能打印出string,不能打印出结构
    print_r能打印出结构
    

    下面看看实例

    <?php
    print(1);
    echo 1;
    print_r(1);
    print_r(array(1));
    print_r(NULL);
    $k =new stdclass;
    $k->a=1;
    print_r($k);
    //END  
    

    输出结果

    [root@chenpingzhao code]# php-cgi  -dvld.active=1  test.php 
    Finding entry points
    Branch analysis from position: 0
    Jump found. Position 1 = -2
    filename:       /tmp/code/test.php
    function name:  (null)
    number of ops:  36
    compiled vars:  !0 = $k
    line     #* E I O op                           fetch          ext  return  operands
    -------------------------------------------------------------------------------------
       2     0  E >   EXT_STMT                                                 
             1        ECHO                                                     1
       3     2        EXT_STMT                                                 
             3        ECHO                                                     1
       4     4        EXT_STMT                                                 
             5        EXT_FCALL_BEGIN                                          
             6        SEND_VAL                                                 1
             7        DO_FCALL                                      1          'print_r'
             8        EXT_FCALL_END                                            
       5     9        EXT_STMT                                                 
            10        EXT_FCALL_BEGIN                                          
            11        INIT_ARRAY                                       ~0      1
            12        SEND_VAL                                                 ~0
            13        DO_FCALL                                      1          'print_r'
            14        EXT_FCALL_END                                            
       6    15        EXT_STMT                                                 
            16        EXT_FCALL_BEGIN                                          
            17        SEND_VAL                                                 null
            18        DO_FCALL                                      1          'print_r'
            19        EXT_FCALL_END                                            
       7    20        EXT_STMT                                                 
            21        FETCH_CLASS                                   4  :1      'stdclass'
            22        EXT_FCALL_BEGIN                                          
            23        NEW                                              $0      :1
            24        DO_FCALL_BY_NAME                              0          
            25        EXT_FCALL_END                                            
            26        ASSIGN                                                   !0, $0
       8    27        EXT_STMT                                                 
            28        ASSIGN_OBJ                                               !0, 'a'
            29        OP_DATA                                                  1
       9    30        EXT_STMT                                                 
            31        EXT_FCALL_BEGIN                                          
            32        SEND_VAR                                                 !0
            33        DO_FCALL                                      1          'print_r'
            34        EXT_FCALL_END                                            
      10    35      > RETURN                                                   1
    
    branch: #  0; line:     2-   10; sop:     0; eop:    35; out1:  -2
    path #1: 0, 
    X-Powered-By: PHP/5.5.23
    

    从上面可以看出来 echo和print是一样的,都是语言结构;对应C中的输出为fwrite,print_r  则是一个函数可以打印书复杂的结构 NULL、object、array、resource

    3、能够使HTML和PHP分离开使用的模板

    4、使用哪些工具进行版本控制

    5、如何实现字符串翻转

    6、优化MYSQL数据库的方法

    语句方面:
    1 使用索引,增加查询效率
    2 优化查询语句,提高索引命中率
    数据库涉及方面:
    1 构造分库分表,提高数据库的存储和扩展能力
    2 根据需要使用不同的存储引擎
    

    7、MYSQL取得当前时间的函数是,格式化日期的函数是

    CURRENT_TIMESTAMP()
    DATE_FORMAT()
    select DATE_FORMAT("2011-11-21 10:10:10", "%Y-%m-%d");
    

    8、对于大流量的网站,您采用什么样的方法来解决访问量问题

    1 有效使用缓存,增加缓存命中率
    2 使用负载均衡
    3 对静态文件使用CDN进行存储和加速
    4 想法减少数据库的使用
    5 查看出现统计的瓶颈在哪里
    

    14、用PHP写出显示客户端IP与服务器IP的代码

    $_SERVER["REMOTE_ADDR"]
    $_SERVER["SERVER_ADDR"]
    

    15、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们

    在失败的时候:
    include产生一个warning,而require产生直接产生错误中断
    require在运行前载入
    include在运行时载入
    require_once
    include_once
    

    16、如何修改SESSION的生存时间

    session_set_cookie_params 
    

     17、有一个网页地址, 比如PHP研究室主页: http://www.phpv.net/index.html,如何得到它的内容

    file_get_contents
    curl 
    fopen
    fsockopen 
    

    18、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?)

    未授权
    header("HTTP/1.0 404 Not Found");
    fast CGI中:
    header("Status: 404 Not Found");
    
    19、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须
    成对出现
    $a = <<EOD
    good test
    EOD;
    

    24. 在PHP中error_reporting这个函数有什么作用? 设定error的展示级别

    25. 请写一个函数验证电子邮件的格式是否正确 

    26. 简述如何得到当前执行脚本路径,包括所得到参数

    $argc --获取参数数量
    $argv --获取参数列表

    27.如何修改SESSION的生存时间

    session_set_cookie_params

    28、JS表单弹出对话框函数是?获得输入焦点函数是)

    alert()
    confirm()
    promopt()
    focus()
    

    29、JS的转向函数是?怎么引入一个外部JS文件

    window.location.href="#"
    <script src="#"></script>
    

    30、foo()和@foo()之间有什么区别

    @代表所有warning忽略
    

    31、如何声明一个名为”myclass”的没有方法和属性的类

    class myclass
    {
    }
    

    32、如何实例化一个名为”myclass”的对象)

    33、你如何访问和设置一个类的属性

    <?php
    class A
    {
    	public $name = "A";
    }
    $a = new A();
    n=a->name;
    print_r($n);
    

    34、mysql_fetch_row() 和mysql_fetch_array之间有什么区别

    36、指出一些在PHP输入一段HTML代码的办法

    echo "{html}"
    echo <<EOD
    {html}
    EOD;
    

    37、下面哪个函数可以打开一个文件,以对文件进行读和写操作

    (a) fget() (b) file_open() (c) fopen() (d) open_file()
    

    38、下面哪个选项没有将 john 添加到users 数组中

    (a) $users[] = ‘john’;
    (b) array_add($users,’john’);
    (c) array_push($users,‘john’);
    (d) $users ||= ‘john’;
    

    39、下面的程序会输入是否

    $num = 10;
    function multiply(){
    	num=num * 10;
    }
    multiply();
    echo $num;
    

    40、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 

    41、如何使用下面的类,并解释下面什么意思

    42、写出 SQL语句的格式 : 插入 ,更新 ,删除 

    43、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别

    44、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段

    46、检测一个变量是否有设置的函数是否?是否为空的函数是

    47、取得查询结果集总数的函数是

    mysql_num_rows()
    

    48、$arr = array('james', 'tom', 'symfony'); 请打印出第一个元素的值

    print_r($arr[0]);
    reset($arr);
    print_r(current($arr));
    print_r(array_shift($arr));
    

    49、请将41题的数组的值用','号分隔并合并成字串输出(1分)50、请取出a的值并打印出第一个字母

    51、PHP可以和sql server/oracle等数据库连接吗)

    52、请写出PHP5权限控制修饰符

    53、请写出php5的构造函数和析构函数

    54、写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名

    55、写一个函数,算出两个文件的相对路径

    56、写一个函数,能够遍历一个文件夹下的所有文件和子文件夹

  • 相关阅读:
    vue导航守卫和axios拦截器的区别
    js中的深拷贝与浅拷贝
    Storyboard中拖拽控件不能运行的问题(在运行的时候,相应的控件代码没有被执行)
    关于stringWithFormat:
    两层嵌套的JSON包的解法
    button的action属性如果有参数,必须加“:”
    iOS 协同开发出fatal error: file 'XX-Prefix.pch' has been modified since the precompiled header was built
    [转] Objective-C语法快速参考
    iOS应用程序内存查看工具
    XCode快捷键大全
  • 原文地址:https://www.cnblogs.com/chenpingzhao/p/4504477.html
Copyright © 2020-2023  润新知