这篇文章介绍的内容是关于最全最详细的PHP面试题(带有答案),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

相关推荐:

分享一波腾讯PHP面试题

2019年PHP最新面试题(含答案)

Redis 高级面试题 学会这些还怕进不了大厂?

阿里面试官三年经验PHP程序员知识点汇总,学会你就是下一个阿里人!

php面试题之PHP核心技术

掌握 Redis这些 知识点,面试官一定觉得你很 NB

1、__FILE__表示什么意思?(5分)

文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。

2、如何获取客户端的IP地址?(5分)

$_SERVER[‘REMOTE_ADDR’]

3、写出使用header函数跳转页面的语句(5分)

Header(‘location:index.php’);

4、$str是一段html文本,使用正则表达式去除其中的所有js脚本(5分)

$pattern = ‘/<script.*>\.+<\/script>/’;

Preg_replace($pattern,’’,$str);

5、写出将一个数组里的空值去掉的语句(5分)

$arr = array(‘’,1,2,3,’’,19);

第一种方法:

$array1 = array('  ',1,'',2,3);

print_r(array_filter($array1, "del"));

function del($var)

{

       return(trim($var)); 

}

第二种方法:

$arr=array("",1,2,3,"");

$ptn="/\S+/i";

print_r(preg_grep($ptn,$arr));

6、写出获取当前时间戳的函数,及打印前一天的时间的方法(格式:年-月-日 时:分:秒) (5分)

Time();

Date(“Y-m-d H:i:s”,Strtotime(“-1 day”));

7、写出php进行编码转换的函数(5分)

Iconv(‘utf-8’,’gb2312’,$str);

8、$str = “1,3,5,7,9,10,20”,使用什么函数可以把字符串str转化为包含各个数字的数组?(5分)

$arr = explode(“,”,$str);

9、serialize() /unserialize()函数的作用(5分)

serialize()和unserialize()在php手册上的解释是:

serialize — 产生一个可存储的值的表示,返回值为字符串,此字符串包含了表示 value 的字节流,不丢失其类型和结构,可以存储于任何地方。

unserialize — 从已存储的表示中创建 PHP 的值

具体用法:

$arr = array(“测试1″,”测试2″,”测试3″);//数组

$sarr = serialize($arr);//产生一个可存储的值(用于存储)

//用任意方法(例如:你要是吧$sarr存在一个文本文件中你就可以用file_get_contents取得)得到存储的值保存在$newarr中;

$unsarr=unserialize($newarr);//从已存储的表示中创建 PHP 的值

10、写出一个函数,参数为年份和月份,输出结果为指定月的天数(5分)

Function day_count($year,$month){

Echo date(“t”,strtotime($year.”-”.$month.”-1”));

}

11、一个文件的路径为/wwwroot/include/page.class.php,写出获得该文件扩展名的方法(5分)

$arr = pathinfo(“/wwwroot/include/page.class.php”);

$str = substr($arr[‘basename’],strrpos($arr[‘basename’],’.’));

12、你使用过哪种PHP的模板引擎?(5分)

Smarty,thinkphp自带的模板引擎

13、请简单写一个类,实例化这个类,并写出调用该类的属性和方法的语句(5分)

Class myclass{

Public $aaa;

Public $bbb;

Public function myfun(){

Echo “this is my function”;

}

}

$myclass = new myclass();

$myclass->$aaa;

$myclass->myfun();

14、本地mysql数据库db_test里已建有表friend,数据库的连接用户为root,密码为123

friend表字段为:id,name,age,gender,phone,email

请使用php连接mysql,选择出friend表里age > 20的所有记录打印结果,并统计出查询出的结果总数。(5分)

<?php

$link = Mysql_connect(“localhost”,”root”,”123”) or die(“数据库连接失败!”);

Mysql_select_db(“db_test”,$link) or die(“选择数据库失败!”);

$sql = “select id,name,age,gender,phone,email from friend where age>20”;

$result = mysql_query($sql);

$count = mysql_num_rows($result);

While($row = mysql_fetch_assoc($result)){

Echo $row[‘id’];

….

}

15、以下有两个表

user表 字段id (int),name (varchar)

score表 字段uid (int),subject (varchar) ,score (int)

score表的uid字段与user表的id字段关联

要求写出以下的sql语句

1)在user表里新插入一条记录,在score表里插入与新加入的记录关联的两条记录(5分)

2)获取score表里uid为2的用户score最高的5条记录(5分)

3)使用联合查询获取name为“张三”的用户的总分数(5分)

4)删除name为“李四”的用户,包括分数记录(5分)

5)清空score表(5分)

6)删除user表(5分)

1). mysql_query(“insert into user(name) values(‘test’)”);

$id = mysql_insert_id();

Mysql_query(“insert into score(uid,subjext,score) values(“.$id.”,’english’,’99’)”);

2).$sql = select uid,sunjext,score from score where uid=2 order by score desc limit 0,5;

3).select s.score from score s RIGHT JOIN user u ON u.id=s.uid where u.name=’张三;

4).delete from score where uid in(select id from user where name=’李四’);

Delete from user where name=’李四’;

5).delete from score;

6).drop table user;

以上就是最全最详细的PHP面试题(带有答案)的详细内容

最全最详细的PHP面试题(带有答案)的更多相关文章

  1. [干货]2017已来,最全面试总结——这些Android面试题你一定需要

        地址.http://blog.csdn.net/xhmj12/article/details/54730883 相关阅读: 吊炸天!74款APP完整源码! [干货精品,值得收藏]超全的一线互联 ...

  2. 《Java面试全解析》1000道面试题大全详解(转)

    <Java面试全解析>1000道 面试题大全详解 本人是 2009 年参加编程工作的,一路上在技术公司摸爬滚打,前几年一直在上海,待过的公司有 360 和游久游戏,因为自己家庭的原因,放弃 ...

  3. 最全的iOS面试题及答案-转载

    1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现 ...

  4. 超全超详细的HTTP状态码大全(推荐抓包工具HTTP Analyzer V6.5.3)

    超全超详细的HTTP状态码大全 本部分余下的内容会详细地介绍 HTTP 1.1中的状态码.这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. ...

  5. 转帖: 一份超全超详细的 ADB 用法大全

    增加一句 连接 网易mumu模拟器的方法 adb  connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...

  6. 超详细的Java面试题总结(四 )之JavaWeb基础知识总结

    系列文章请查看: 超详细的Java面试题总结(一)之Java基础知识篇 超详细的Java面试题总结(二)之Java基础知识篇 超详细的Java面试题总结(三)之Java集合篇常见问题 超详细的Java ...

  7. 2017年最全的30个Android面试题,你将如何回答?

    百度首页 登录 2017年最全的30个Android面试题,你将如何回答? 机翼技术 百家号 03-10 02:32 “三金四银”又是一年一度的跳槽季,相信有不少Android程序员开始摩拳擦掌蠢蠢欲 ...

  8. 史上最全 69 道 Spring 面试题和答案

    史上最全 69 道 Spring 面试题和答案 目录Spring 概述依赖注入Spring beansSpring注解Spring数据访问Spring面向切面编程(AOP)Spring MVC Spr ...

  9. 50道Redis面试题及答案整理,史上最全!

    在网上看到有关Redis的50道面试题,但是没有给出答案,之前我也在寻找这份Redis面试题的答案,今天特地把答案分享出来. 花了大量时间整理了这套Redis面试题及答案,希望对大家有帮助哈~ 弄明白 ...

随机推荐

  1. Mybatis表关联多对多

    创建表 创建表对应的 JavaBean 对象 package com.tanlei.newer.model; import java.util.List; /** * @author:Mr.Tan * ...

  2. 云原生生态周报 Vol. 2

    摘要: Cloud Native Weekly China Vol. 2 业界要闻 Kubernetes External Secrets 近日,世界上最大的域名托管公司 Godaddy公司,正式宣布 ...

  3. c++中单引号和双引号的区别

    在C++中单引号表示字符,双引号表示字符串. 例如 :在定义一个数组的时候string a [5]={"nihao","henhao","good&q ...

  4. 5 获取Form表单取值

    #form表达提交@app.route("/data",methods=['GET','POST']) #methods 让当前路由支持GET 和 POST 方式def data( ...

  5. H3C 命令行编辑功能

  6. @noi.ac - 170@ 数数

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 求有多少对 1 ∼ n 的排列 (a, b) 满足 \(m \l ...

  7. js后端返回一个时间戳,用原生怎么对时间进行格式化?

    function fn(time) { var date = new Date(time); var len = time.toString().length; // 时间戳不足13位则在后面加零 i ...

  8. 【原生JS】评论编辑器 文本操作

    效果图: HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> ...

  9. BiLSTM-CRF学习笔记(原理和理解) 维特比

    BiLSTM-CRF 被提出用于NER或者词性标注,效果比单纯的CRF或者lstm或者bilstm效果都要好. 根据pytorch官方指南(https://pytorch.org/tutorials/ ...

  10. java基本类型和String之间的转换

    String → 基本类型,除了Character外所有的包装类提供parseXxx(String s)静态方法,用于把一个特定的字符串转换成基本类型变量: 基本类型 → String,String ...