0

0

php面试题分享(正在找工作的朋友有福了)

php中文网

php中文网

发布时间:2016-07-25 09:04:40

|

1726人浏览过

|

来源于php中文网

原创

  1. $tmp = 0 == "a"? 1: 2;
  2. echo $tmp;
  3. ?>
复制代码

结果 1 int和string类型强制转换造成的,0==="a"

0 == 0 肯定是true啊 PHP是弱类型。。 $tmp = 0 === "a"? 1: 2; echo $tmp; 这样就是2

4. 已知一个字符串如下: $str = "1109063 milo 1"; 用一行代码将该字符串里面的1109063赋值给$uid, milo赋值给$user, 1赋值给$type 空格如下 list($uid, $user, $type) = explode(" ", $str); \t如下 list($uid, $user, $type) = explode("\t", $str); list($uid, $user, $type) = sscanf($str, "%d %s %d"); $n = sscanf($auth, "%d\t%s %s", $id, $first, $last);

5. 分别列出如下类型的有符号和无符号范围 TINYINT SMALLINT MEDIUMINT INT TINYINT-2^7 - 2^7-10 ~ 2^8-1 SMALLINT-2^15 - 2^15-1 0 ~ 2^16-1 MEDIUMINT-2^23 - 2^23-1 0 ~ 2^24-1 INT-2^31 - 2^31-1 0 ~ 2^32-1

6. 将下面的数组用一行拼装成一个字符串i am milo! day day up!

  1. $arr = array(
  2. 'I', 'AM', 'MILO!', 'DAY', 'DAY', 'UP!'
  3. );
  4. ?>
  5. $str = strtolower(implode(" ",$arr));
复制代码

7. 调用如下函数获取函数并获取count的值

  1. function get_list($cnd = array(), &$count = false)
  2. {
  3. // 伪代码 处理$cnd 并赋值datas
  4. $datas = 'i am call back';
  5. $count && $count = rand(1, 10000);
  6. return $datas;
  7. }
  8. ?>
  9. $count=1;
  10. $data = get_list($cnd,&$count);
  11. echo $count;
复制代码

8. 几种方式去取代session机制, 简单描述各自的优劣 mysql、memcache、cookie保持一种唯一状态标识码

9. 下列HTTP状态码出现的可能原因, 如何处理 200, 301, 404, 502, 503 200 请求已成功,请求所希望的响应头或数据体将随此响应返回。 301 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。   新的永久性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。   如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。

注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。

404   请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。 502   作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 503   由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间。如果没有给出这个 Retry-After 信息,那么客户端应当以处理500响应的方式处理它。   注意:503状态码的存在并不意味着服务器在过载的时候必须使用它。某些服务器只不过是希望拒绝客户端的连接。

200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL 404 Not Found 无法找到指定位置的资源。这也是一个常用的应答。 502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。 503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。

10. 有如下数据库, 用原生态mysql扩展去连接并查询user表的前十行 host: 192.168.0.254 port: 3306 user: one pass: piece database: db_user table: user

  1. $link = mysql_connect("192.168.0.254:3306","one","piece") or die('Could not connect: '.mysql_error());
  2. mysql_select_db('db_user',$link);
  3. $query = mysql_query("select * from user limit 10");
  4. while($rs = mysql_fetch_array($query,MYSQL_ASSOC))
  5. {}
复制代码

11. 用autoload($class) 实现Lib目录下的类的自动加载并可以兼容子目录

  1. $request->action = lcfirst(implode(array_map(

  2. 'ucfirst',
  3. explode('-', strtolower($request->action))
  4. )));
  5. ------------------------------------------------
  6. function __autoload($class)
  7. {
  8. $cls = strtolower(str_replace("_","/",$class));
  9. if(file_exsits(LIB.$cls.'.php'))
  10. {
  11. include_once(LIB.$cls.'.php');
  12. }
  13. else
  14. {
  15. die("not found {$class} class");
  16. }
  17. }
  18. defined("LIB",'/data/wwwroot/www.xx.com/lib/');
  19. $author = new Lib_Author();
  20. -----------------------------------------------------------
  21. function __authload($class)
  22. {
  23. $cls = explode("_",$class);
  24. if(@is_dir($cls[1]))
  25. {
  26. if(@is_file($cls[2]))
  27. {
  28. include_once("CON_PATH".$cls[1].'/'.$cls[2].".php");
  29. }
  30. else
  31. {
  32. dir('error');
  33. }
  34. }
  35. else if(@is_file($cls[1].".php"))
  36. {
  37. include_once("CON_PATH".$cls[1].".php");
  38. }
  39. else
  40. {
  41. dir('error');
  42. }
  43. }
  44. ---------------------------------------
  45. function __autoload($class)
  46. {
  47. $cls = explode("_",$class);
  48. $file = get_file($cls);
  49. if($file=='error')
  50. {
  51. die('error');
  52. }
  53. include_once($file);
  54. }
  55. function get_file($dir)
  56. {
  57. if(is_array($dir))
  58. {
  59. foreach($dir as $k=>$v)
  60. {
  61. $tmpdir .= $v.'/';
  62. if(is_dir('CON_PATH'.$tmpdir))
  63. {
  64. continue();
  65. }
  66. else if(is_file('CON_PATH'.$tmpdir.".php"))
  67. {
  68. return 'CON_PATH'.$tmpdir.".php";
  69. }
  70. else
  71. {
  72. return 'error';
  73. }
  74. }
  75. return 'error';
  76. }
  77. return 'error';
  78. }
  79. defined("CON_PATH","/data/wwwroot/www.xx.com/app/cntroller/");

  80. $sb = new controller_sb();
  81. ------------------------------------
  82. function __autoload_my_classes($classname)
  83. {
  84. # ... your logic to include classes here
  85. }
  86. spl_autoload_register('__autoload_my_classes');
  87. -----------------------------------------------------------

    立即学习PHP免费学习笔记(深入)”;

    凡科AI抠图
    凡科AI抠图

    简单好用的在线抠图工具

    下载
复制代码

12. 用set_error_handle 去捕获错误并输出, 级别自己定

  1. set_error_handle(callback,level)

  2. function callback(int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]] ){
  3. }
  4. function dealErrorHandler($errno,$errstr,$errfile,$errline)

  5. {
  6. switch($errno){
  7. case E_USER_ERROR:
  8. echo "error [$errno] $errstr fatal error on line $errline in file $errfile";
  9. break;
  10. case E_USER_WARNING:
  11. echo "my warning [$errno] $errstr":
  12. break;
  13. case E_USER_NOTICE:
  14. echo "my notice[$errno] $errstr";
  15. break;
  16. default:
  17. echo "unkonwn error type :[$errno] $errstr";
  18. break;
  19. }
  20. }
  21. set_erro_handler(dealErrorHandler);
  22. trigger_error("notice", E_USER_NOTICE);

  23. trigger_error("warning", E_USER_WARNING);
  24. trigger_error("error", E_USER_ERROR);
复制代码

13. 简述两种屏蔽php程序的notice警告的方法 初始化变量,文件开始设置错误级别或者修改php.ini 设置error_reporting set_error_handler 和 @抑制错误

1.在程序中添加:error_reporting (E_ALL & ~E_NOTICE); 2.或者修改php.ini中的:error_reporting = E_ALL 改为:error_reporting = E_ALL & ~E_NOTICE 3.error_reporting(0);或者修改php.inidisplay_errors=Off 1 2 3 4 下一页 尾页



相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

616

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

194

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

91

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

20

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

54

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

598

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

56

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新PHP面试视频教程
最新PHP面试视频教程

共14课时 | 9.8万人学习

前端学科面试题大全(第一季)
前端学科面试题大全(第一季)

共26课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号