php算法面试题及答案

这篇具有很好参考价值的文章主要介绍了php算法面试题及答案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. PHP的基础知识点

PHP中类的继承属于单继承,一个子类只能继承一个父类。可见性为public protected的属性和方法可以被继承。 继承的方法或属性可以被重写,可见性越来越大。

PHP中的变量名区分大小写,但类名、函数名不区分大小写。

2. error_reporting()函数的作用

error_reporting()函数的作用是临时设置脚本执行过程中的错误报告级别。

error_reporting(E_ALL ^ E_NOTICE); // 除了E_NOTICE之外,报告所有的错误

使用 error_reporting(0) 或者在函数前面加 @,可以抑制错误信息输出,以防止错误消息泄露敏感信息。

3. HTTP状态码

在HTTP1.1中,状态码401的含义是未经授权;如果想返回“找不到文件”,可使用header函数,语句为:header(“HTTP/1.1 404 Not Found”);

4. require和include的区别

include 引入文件,如果引入的文件发生错误,会产生一条警告信息,后续的代码会继续执行。

require引入文件,会更加严谨一些,如果引入的文件发生错误,会抛出一个致命的错误,并中断后续代码的执行。因此我们常常用require引入一个非常重要的文件。

5. 存储引擎 MyISAM 和 InnoDB的区别

MyISAM适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好,MyISAM不支持事务、外键和行锁。MyISAM的每个数据表包括三个文件,分别是表的结构、表的索引和表的数据,表的索引和表的数据是分开存储的。

InnoDB在写操作比较多的时候会更优秀,InnoDB支持事务、外键和行锁。InnoDB的数据表包括两个文件,表的索引和数据存储在同一个文件中,默认是共享表空间,即所有数据表的索引和数据存储在同一个文件中,但也可以设置为独立表空间(若要对数据表采用分区技术,必须设置为独立表空间)。

6. 如何得到当前PHP脚本的路径(包括所有参数)?

echo “http://”.SERVER[‘HTTPHOST′]._SERVER[‘REQUEST_URI’]; echo ‘http://’.SERVER[‘HTTPHOST′]._SERVER[‘PHP_SELF’].’?’.

7. 在php中不使用第三个变量,如何实现交换两个变量的值?

<?php b,a) = array(a,b); echo a.b;

<?php a=a.b;b = substr(a,0,strlen(a)-strlen(b));a = substr(a,strlen(b)); echo a.b

8. 自定义一个PHP函数,要求用冒泡排序对数组进行升序排列

<?php function bubbleSort($arr){ $length=count($arr); if($length==0) return false; for($i=0;$i<$length-1;$i++){ for($j=0;$j<$length-$i-1;$j++){ if($arr[$j]>=$arr[$j+1]){ $temp=$arr[$j+1]; $arr[$j+1]=$arr[$j]; $arr[$j]=$temp; } } } return $arr; }

9. 如何将a.txt文件里的内容追加到b.txt文件中?

file_put_contents(‘b.txt’, file_get_contents(‘a.txt’), FILE_APPEND);

10. 表单提交方式中的get和post有什么区别?

get是表单的默认提交方式,会把数据附加到表单的action属性所指向的URL中,在URL中可见,安全性较差;post会把数据放到http的包体中,用户一般看不到,安全性较好。 get传递的数据量受URL长度的限制,故数据量较小,一般只有几kb;而post传递的数据量受php.ini的限制,数据量较大,如果有文件上传的话,表单的提交方式一定要用post。 get传递的数据会被缓存下来,可能有安全性问题,而post方式没有这个问题。 get传递的数据通过GET[]获取,post传递的数据通过_POST[]获取。文章来源地址https://www.toymoban.com/news/detail-489366.html

到了这里,关于php算法面试题及答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023金三银四1000道java面试必考题(附答案,赶紧收藏)包含所有大厂高频面试知识点

    我的回答是: 很有必要 。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。现如今,Java 面试的本质就是八股文,把八股文面试题背好,面试才有可能表现好。金九银十招聘黄金季即将来临!大家在考研和找工作中纠结的时候,不妨先看一下面试题,毕竟我

    2023年04月09日
    浏览(38)
  • 面试题:ES的面试题及答案

    什么是ES? 答:ES是Elasticsearch的缩写,是一款开源的分布式搜索引擎。它可以快速地存储、搜索和分析大量的数据,支持全文检索、结构化查询等多种查询方式。ES的主要特点是速度快、可扩展、高可用和易于使用。 ES的主要用途是什么? 答:ES主要用于建立搜索引擎、日志

    2024年02月16日
    浏览(29)
  • 【面试题】2023前端vue面试题及答案

    前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库  web前端面试题库 VS java后端面试题库大全   Vue3.0 为什么要用 proxy? 在 Vue2 中, 0bject.defineProperty 会改变原始数据,而 Proxy 是创建对象的虚拟表示,并提供 set 、get 和 deleteProperty 等处理器,这些处理器可

    2024年02月06日
    浏览(33)
  • Qt经典面试题及答案

    面试题: 请解释什么是Qt框架,以及它在软件开发中的作用和优势。 请谈谈你在使用Qt进行GUI开发方面的经验和技能。 请描述Qt的信号和槽机制,并解释其在软件开发中的作用。 请介绍Qt中的模型/视图架构,并说明如何使用Qt模型/视图框架来实现数据的展示和交互。 在Qt中,

    2024年02月03日
    浏览(29)
  • 运维常用面试题及答案

    介绍一下你的运维经验和技能。 答案:在回答这个问题时,可以简要概述你的运维经验和技能,包括你的工作经历、参与的项目、使用的工具和技术等。重点突出你在系统监控、故障排除、自动化部署、容量规划和安全性等方面的经验和技能。 你在日常工作中使用过哪些自

    2024年02月15日
    浏览(29)
  • 28道Zookeeper面试题及答案

    JAVA面试宝典,搞定JAVA面试,不再是难题,系列文章传送地址,请点击本链接。 目录 1、说说 Zookeeper 是什么? 2、ZooKeeper 有哪些应用场景? 3、说说Zookeeper的工作原理? 4、请描述一下 Zookeeper 的通知机制是什么? 5、Zookeeper 对节点的 watch 监听通知是永久的吗? 6、 Zookeeper 集

    2024年01月21日
    浏览(44)
  • 前端开发面试题及答案整理(合集)

      前端开发面试题及答案 1、对Web标准以及W3C的理解与认识? 答:标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链CSS和JS脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组

    2024年02月17日
    浏览(32)
  • 常见的Webpack面试题及答案

    Webpack是目前比较物流的前端构建工具,它基于入口,用不同的Loader来处理不同的文件。我们来看一下常见的Webpack面试题及答案吧,希望对你有帮助。 Webpack的核心概念 Entry :入口,Webpack执行构建的第一步将从Entry开始,可抽象成输入。告诉Webpack要使用哪个模块作为构建项目

    2024年01月16日
    浏览(49)
  • 头歌实践教学平台答案(消息队列面试题及答案)

    头歌实践教学平台消息队列 面试题及答案,消息队列⾯试题及答案。 1、为什么使用消息队列? 消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。 异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包