zoukankan      html  css  js  c++  java
  • 几道经典容易错的php面试题

    1.这道题问是输出的结果是什么?

    *在echo输出的字符串中如果含有函数,则优先输出

    function  test($a){
       echo  $a+10;
    
    }
    
    $b=10;
    echo "function($b)".test($b);// 输出的结果是20function(10)

    2.这道题考了运算的的优先级  逻辑运算符的优先级要大于算数运算符

    /*
     * 1.考了优先级,||左边是是3  所以的呢    $b=3;这一句是没有执行的,$a是一个布尔型true
     * 2.true布尔型++,输出的还是1  (false  的话输出的还是false)   $b++ 输出的是1
     *所以结果是是输出的1,1
     * */
    $c=flase;
    $a=0;
    $b=0;
    if($a=3||$b=3){
        $a++;
        $b++;
    }
    echo $a.'<br>';
    echo$b.'<br>';
    echo  $c++;

    3.这道题考数组,字符串,文件目录的操作的函数,比较全面

    题目:请写一个函数将   "/ a/b/c/d/e.php"    和文件  "a/b/12/34/f.php "的相对路径写出来

    取得文件目录路径函数:dirname()

    去除左右两边的“/”函数:trim()

    将字符串转化为数组的函数:explor()

    将数组转化为字符串的函数:implode()

    重复输出一个字符串的函数:str_repreat()

    <?php
    //用一个函数来输出$a $b的相对路径
    $a='/a/b/c/d/e.php';
    $b='/a/b/12/34/f.php';
    
    
    function test($a,$b){
     try{
        //1.转化为数组
          $a=explode(trim(dirname($a),"/"),'/');
          $b=explode(trim(dirname($b),"/"),'/');
        //2.去除相同的部分
        for($i=0;$i<count($b);$i++){
            if($a["$i"]==$b["$i"]){
                unset($a["$i"]);
                unset($b["$i"]);
            }
            else{
                break;
            }
        }
      //3.组合
       return str_repeat('../',count($b)).implode('/',$a);
     }catch (ErrorException $e){
         echo $e->getMessage();
     }
    
    }
    
    
    echo  test($a,$b);

    4.怎么解决一个大流量大型网站的访问量问题?

    答:横向扩展web服务器

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

       例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php .php

    <?php
    header("Content-type:text/html;charset=utf8");
    
    $a="http://www.sina.com.cn/abc/de/fg.php?id=1";
    
    $arr=parse_url($a);
    $file=basename($arr['path']);//这个函数有三个变量    [scheme]   [host]  [path]  [query]
    
    $php=explode('.',$file);  
    
    echo $php['1'];
  • 相关阅读:
    网络通信socket连接数上限
    图像轮廓的提取
    C# 基础类型的快速转换
    十大编程算法助程序员走上高手之路
    椭圆的曲线模拟
    覆盖父类方法的new和override关键字
    BackgroundWorker异步更新界面
    小程序开发(七)利用SQL实现access_token的自动通知
    漫水填充(泛洪填充、油漆桶)的C#实现(解决堆溢出问题)
    SQL中获取最近的N个半年度
  • 原文地址:https://www.cnblogs.com/zhengweizhao/p/6935110.html
Copyright © 2011-2022 走看看