zoukankan      html  css  js  c++  java
  • php面试专题---5、流程控制考点

    php面试专题---5、流程控制考点

    一、总结

    一句话总结:

    看代码不要先看函数里面的内容,要用的时候再去看;注意静态,注意变量作用域,php中的内置函数需要去归类总结,就是太容易忘记了

    1、写出如下程序的输出结果,解释为什么?

    |||-begin

    <?php
    $count = 5;
    function get_count()
    {
        static $count;  
        return $count++;
    }
    
    echo $count;-->5
    ++$count;-->6
    
    echo get_count();-->null
    echo get_count();-->1

    |||-end

    结果:5 1
    null不会被输出
    null++之后是1
    函数内部需要手段才能使用外部变量

    2、变量的作用域和静态变量?

    php中函数内使用全局变量需有手段:变量的作用域也称变量的范围,变量的范围即它定义的上下文背景(也是它的生效范围)。大部分的PHP变量只有一个单独的范围。这个单独的范围跨度同样包含了include和require引入的文件。
    global关键字:在函数内部写global $outer;即可在函数内部使用

    3、php static关键字注意点?

    1.仅初始化一次;2.初始化时需要赋值
    3.值保留:每次执行函数该值会保留
    4.局部:static修饰的变量是局部的,仅在函数内部有效
    5.可以用于递归调用次数:可以记录函数的调用次数,从而可以在某些条件下终止递归

    4、解释下列程序的 结果?

    |||-begin

    function mgFunc(){
        Static $a=1; 
        echo $a++;
    }
    myFunc();→1
    myFunc();→2
    myFunc();→3

    |||-end

    初始化只有一次,每次执行函数该值会保留
    可用来做递归次数判断

    5、函数的参数及参数的引用传递 是怎样?

    默认传值:默认情况下,函数参数通过值传递
    & $a:如果希望允许函数修改它的值,必须通过引用传递参数:比如

    6、php函数的返回值的 注意点?

    return返回:值通过使用可选的返回语句(return)返回
    任意类型:可以返回包括数组和对象的任意类型
    终止运行:返回语句会中止函数执行,将控制权交回函数调用处
    数组返回多个值:返回多个值可以把值放在一个数组:省略return,返回值为NULL,不可有多个返回值

    7、函数的引用返回实例?

    |||-begin

    function &mgFunc(){ //注意这里的&符号
        static $b=10; 
        return $b;
    }
    
    $a=myFunc();-->10
    $a=&myFunc(); //注意这里的&符号
    $a=100; 
    echo myFunc();-->100

    |||-end

    注意这里把函数赋值给了一个变量
    从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用运算符&

    8、外部文件的导入 注意事项?

    包含并运行:include/require语句包含并运行指定文件;
    找路径:如果给出路径名按照路径来找,否则从include_path中查找;如果include_path中也没有,则从调用脚本文件所在的目录和当前工作目录下寻找
    继承变量范围:当一个文件被包含时,其中所包含的代码继承了include所在行的变量范围

    9、php文件引入中include和require的区别?

    警告和致命错误:加载过程中未找到文件则include结构会发出一条警告;这一点和require不同,后者会发出一个致命错误
    E_COMPILE_ERROR:require 在出错时产生E_COMPILE_ERROR级别的错误。换句话说将导致脚本中止
    E_WARNING:而 include只产生警告(E_WARNING),脚本会继续运行。
    检查是否被包含过:require(include)/require_one(include_once)唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含。

    10、php系统内置函数注意点?

    IP处理函数:ip2long()、long2ip()
    序列化及反序列化函数:serialize()、unserialize()
    时间函数
    date()、strtotime()、mktime()、time()、microtime()、date_default_timezone_set()
    
    
    IP处理函数
    ip2long()、long2ip()
    
    打印处理
    print()、printf()、print_r()、echosprintf()、var_dump()、var_export()
    
    
    序列化及反序列化函数
    serialize()、unserialize()
    
    
    字符串处理函数
    implode()、explode()、join()、strrev()、trim()、
    ltrim()、rtrim()、strstr()、number_format()...
    
    
    数组处理函数

    二、内容在总结中

     
  • 相关阅读:
    《移动开发者周刊》第十一期
    2012安卓巴士开发者沙龙成都站大家抓紧报名
    23岁那年你正处在哪个状态?现在呢?
    《老罗Android开发视频教程》老罗来交国庆的答卷了
    程序员,你的一千万在哪里?
    《老罗Android开发视频教程》更新
    2012全球开发者大会项目投资一对一相亲会
    windows远程桌面
    [LeetCode] NQueens
    [LeetCode] Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11060525.html
Copyright © 2011-2022 走看看