zoukankan      html  css  js  c++  java
  • php基础面试题:

    1:print、print_r、echo到底有什么区别?

    2:get和post的区别

    echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出 echo 会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。
    print 是打印字符串
    print_r 则是打印复合类型 如数组 对象


    1》 get请求时:
    GET请求的数据会附在URL之后;空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
    POST把提交的数据则放置在是HTTP包的包体中。
    2》GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。
    IE对URL长度的限制是2083字节(2K+35)。
    对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
    3》 POST的安全性要比GET的安全性高。
    (1)登录页面有可能被浏览器缓存,
    (2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。

    3:HTTP头书写
    header(“HTTp/1.0 404 Not Found”);———找不到文件

    header(“HTTp/1.1 403 Forbidden”);———不允许访问

    4:$a6 'null';

    $a8 array(array());

    echo empty($a6) ? 'true' 'false';

    echo empty($a8) ? 'true' 'false';

    都返回false

    5:写出如下程序的输出结果

    <?php
        $test 'aaaaaa';
        $abc = & $test;
        unset($test);
        echo $abc;
    ?>

    输出:aaaaaa

    6:

        $count = 5;
        function get_count(){
            static $count = 0;  //未用global声明,故是内部变量
            return $count++;
        }
        echo $count;
        ++$count;
        echo get_count();
        echo get_count();
    

     输出:

    5

    0

    1

    7:

    $GLOBALS['var1'] = 5;
    $var2 = 1;
    function get_value(){
    global $var2;
    $var1 = 0;
    return $var2++;
    }
    $res = get_value();
    echo $res; //返回1
    echo $var1; //返回5
    echo $var2; //返回2

    8:
    function get_arr($arr){
    unset($arr[0]);
    }
    $arr1 = array(1, 2);
    $arr2 = array(1, 2);
    get_arr(&$arr1);
    get_arr($arr2);
    echo count($arr1);
    echo count($arr2);

    9. 使用五种以上方式获取一个文件的扩展名
     

    二、算法题
    1. 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组
    2. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
    3. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数



     

    12、某内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路,最好写出相关代码。
    用户提交内容后,将内容加在最终页面模板上,然后另存为HTML页面(创建HTML页面,将内容和页面模板写入)。
    代码:
    $tpl->assign(‘vars’, $vars);
    $static_html = = $tpl->fetch(‘tpl/index.html’); //Smarty的fetch方法
    $fp = fopen(‘html/index.html’, ‘w’);

    fwrite($fp, $static_html);

    另一种 ob_start

    createHtml.php

  • 相关阅读:
    第三个冲刺周期第1天
    第二个冲刺周期第7天
    第二个冲刺周期第6天
    第二个冲刺周期第5天
    电梯调度系统最终版
    电梯调度系统迟真真&冯小兰
    软件工程之课程评价czz
    《代码大全2》读后感czz
    迟真真假如历史可以重来
    十天冲刺任务迟真真
  • 原文地址:https://www.cnblogs.com/Alight/p/5198248.html
Copyright © 2011-2022 走看看