zoukankan      html  css  js  c++  java
  • 面试题(基础)

    1、打印前一天格式是2006-5-10 22:21:21

      echo date('Y-m-d H:i:s',strtotime('-1 day'));

    2、echo,print(),print_r(),var_dump(),printf(),sprintf()有什么区别?

      echo:是语句不是函数,没有返回值。可以输出多个变量,不能输出对象和数组,只能打印简单数据类型

      print:是函数,有返回值1,只能输出一个变量,不能输出对象和数组,只能打印简单数据类型

      print_r:是函数,可以打印复合数据类型

      var_dump:是函数,能输出变量的内容、类型、长度。常常用来调试

      printf:是函数,把文字格式化后输出,类似c

      sprintf:是函数,跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样

    3、获取客户端的ip和服务器的ip

        客户端:$_SERVER['REMOTE_ADDR']或getnv('REMOTE_ADDR']

        服务器端:gethostbyname('www.baidu.com')

    4、PHP数组函数

      array()  定义数组

      count()  获取数组长度

      array_push()  数组尾部追加数据

      array_unshift() 数组头部追加数据

      array_pop()    数组尾部删除数据

      array_shift()   数组头部删除数据

      array_keys()        获取数组中的键

      array_values()     获取数组中的值

      array_key_exist() 判断数组中key是否存在

      in_array()  判断数据是否在数组中

      array_intersect()  获取两个数组的交集

      array_combin() 合并数组,第一个数组的值作为合并后数组的key

      array_reverse() 颠倒数组的顺序

    5、PHP字符串函数

      trim()  移除字符串两侧的空白字符或其他预定义字符

      is_string() 判断是不是字符串

      strlen()  求字符串的长度

      strpos()  返回子字符串在字符串中的位置

      explode()  对字符串进行分割

      strrev()  反转字符窜

      substr()  返回字符串中的一部分

      substr_count()  统计子字符串在字符串中出现的次数

      strtolower()  把字符串中所有字符换为小写

      strtoupper()  把字符串中所有字符换为大写

      mb_substr()  对中文字符进行截取

      str_replace()  使用一个字符串替换字符串中的另一些字符串

      substr_replace()  把字符串中的一部分替换为另一个字符串

    6、PHP中对数组序列化和反序列化函数

      serialize,unserialize

    7、把utf-8转换成gbk的函数

      iconv("utf-8","gbk",$str)

    8、+和array_merge()的区别

      +:相同键值,保留前面的

      array_merge():相同字符串键值,后面覆盖前面的

               相同数字键名,后面不覆盖前面的

      两者相同点:如果只有一个数组,并且是数字索引,则键名会以连续方式重新索引

    9、session与cookie

      存储位置:session存储在服务器,cookie存储在浏览器

      安全性:session比cookie安全

      一般浏览器允许存储20个cookie

      session的存储路径session_save_path

    10、常用超全局变量

      $_GET $_POST $_REQUEST $GLOBALS $_FILE $_SERVER $_SESSION $_COOKIE

    11、常用魔术方法有哪些

      __construct()  实例化类时自动调用

      __destruct()  类对象使用结束时自动调用

      __set()  给未定义的属性赋值时自动调用

      __get()  调未定义的属性时自动调用

      __call()  调用一个不存在的方法时自动调用

      __clone()  使用clone复制一个对象时自动调用

      __sleep()  使用serialize序列化时自动调用

      __wakeup() 使用unserialize反序列化时自动调用

    12、常用魔术常量

      __FILE__  当前文件路径

      __DIR__   当前文件目录

      __LINE__  在文件中的行号

      __FUINCTION__  在当前文件的哪个函数,返回函数名

      __CLASS__  在当前文件的哪个类中,返回类名

      __METHOD__  在当前文件的类中的哪个方法中,返回方法名

      情况一: __FUNCTION__与__METHOD__ 同处于“类外”的函数体中,他们的返回值是一样一样滴.

          情况二: __FUNCTION__与__METHOD__ 同处于“类内”的函数体中,__METHOD__ 比 __FUNCTION__前面多了个“类名::”

    13、简单算法

      冒泡排序:

      

      快速排序:

      

              

  • 相关阅读:
    Retrofit2.0+OkHttp打印Request URL(请求地址参数)
    Java如何从HttpServletRequest中读取HTTP请求的body
    解决gradle:download特别慢的问题
    20180531
    20180531 运算符重载
    20180531 二叉树
    20180530
    20180529-2
    20180529-1
    20180529
  • 原文地址:https://www.cnblogs.com/lisongwei/p/10732926.html
Copyright © 2011-2022 走看看