面试题(基础)

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、简单算法

  冒泡排序:

  

  快速排序:

  

          

原文地址:https://www.cnblogs.com/lisongwei/p/10732926.html