php算法面试题及答案

news/2024/10/18 14:16:04/

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[]获取。


http://www.ppmy.cn/news/327717.html

相关文章

Nenu算法复习第六章

目录 补充知识点 1160: 6001 第几天&#xff1f; 1161: 6002 时间格式转换 1162: 6003 星期几&#xff1f; 1163: 6004 18岁生日、 补充知识点 闰年的判断方法&#xff1a; 能被四整除但是不能一百整除或者能被400整除 例题: 题目描述 经常会有人问你怎么判断闰年&…

【头歌-Python】8.3 政府工作报告数据提取(project)-第4关

第1关&#xff1a;读取政府工作报告文件 任务描述 附件中为2023年政府工作报告&#xff0c;本关要求将报告中所有包含数字字符的语句进行提取&#xff0c;并根据输入的关键词&#xff0c;将报告中与关键词相关联的语句筛选后输出(限于篇幅&#xff0c;本题仅列出部分关联词&a…

SpringBoot-【回顾】

第一个SpringBoot程序 自动装配原理 Springboot的自动装配实际上就是为了从Spring.factories文件中获取到对应的需要进行自动装配的类&#xff0c;并生成相应的Bean对象&#xff0c;然后将它们交给Spring容器来帮我们进行管理 启动器&#xff1a;以starter为标记 EnableAuto…

DHCP是什么?它有什么作用?其工作模式?工作原理?

目录 一、DHCP是什么&#xff1f;二、DHCP的作用&#xff1f;1. 在没有DHCP服务的网络中2. 在有DHCP服务的网络中 三、DHCP的工作模式简介四、DHCP的工作原理五、参考资料 一、DHCP是什么&#xff1f; DHCP是动态主机配置协议&#xff08;Dynamic Host Configuration Protocol…

算法模板(3):搜索(3):图论提高

图论提高 最小生成树 &#xff08;1&#xff09;朴素版prim算法&#xff08; O ( n 2 ) O(n ^ 2) O(n2)&#xff09; 适用范围&#xff1a;稠密图易错&#xff1a;注意有向图还是无向图&#xff1b;注意有没有重边和负权边。从一个集合向外一个一个扩展&#xff0c;最开始只…

基本类型转换和引用类型转换

文章目录 前言基本类型转换自动数据类型转换强制数据类型转换 引用数据类型转换向上转型向下转型 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; Java 中的类型转换可以分为基本类型转换和引用类型转换两种。 基本类型转换指的是将一种基本数据类型转换…

【Mircosft Edge】插件推荐

插件推荐 1.推荐插件1.1 油猴 tempermonkey1.2 免费音乐播放器 Listen 1 2.添加插件2.1 打开“Micrsoft Edge 外接程序”2.2 获取新的扩展2.3 搜索插件2.3.1 在Micrsoft Edge 外接程序搜索框中输入tampermonkey&#xff0c;然后点击获取按钮进行安装2.3.2 在Micrsoft Edge 外接…

MongoDB 运行报 code: 31249, MongoError: Path collision at...

MongoDB 版本由 4.2 升级至 5.0&#xff0c;某处查询语句执行后报&#xff1a; MongoError: Path collision at activity_detail.period.start_date remaining portion period.start_date at MessageStream.messageHandler (/usr/src/app/node_modules/mongodb/lib/cmap/connec…