PHP常见面试题_php算法面试题及答案

PHP常见面试题_php算法面试题及答案1.PHP的基础知识点PHP中类的继承属于单继承,一个子类只能继承一个父类。可见性为publicprotected的属性和方法可以被继承。继承的方法或属性可以被重写,可见性越来越大。PHP中的变量名区分大小写,但类名、函数名不区分大小写。2.error_reporting()函数的作用error_reporting()函数的作用是临时设置脚本执行过程中的错

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
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[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];

echo ‘http://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘PHP_SELF’].’?’.$_SERVER[‘QUERY_STRING’];

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

<?php $a = 1; $b = 2; list($b, $a) = array($a, $b); echo $a.$b;

<?php $a = “hello”; $b = “good”; $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://javaforall.net/173152.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux下七种文件类型、文件属性及其查看方法

    Linux下七种文件类型、文件属性及其查看方法1、七种文件类型普通文件类型Linux中最多的一种文件类型,包括纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为[-]目录文件就是目录,能用#cd命令进入的。第一个属性为[d],例如[drwxrwxrwx]块设备文件块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号

    2022年5月15日
    43
  • Mac配置PHP环境(brew安装nginx+php)「建议收藏」

    第一步:检查本地有没有PHP:输入php-v命令,查看,如果有PHP版本,说明本地有PHP(MacOSX10.9以后的系统自带了PHP、php-fpm)我检查了一下,本地有,就不用安装了第二步:安装nginx直接输入brewinstallnginx然后回车就行,等待好一会儿,自动安装看到下面的提示,如图,说明安装成功,执行brewservicesstar…

    2022年4月16日
    34
  • cj广告联盟「建议收藏」

    cj广告联盟「建议收藏」CommissionJunction(简称CJ)是目前国外最大的综合网络广告商,拥有超过1000家赞助商,且每天都有新的公司加入,支持中文网站,是站长赚钱的第一选择。公司业务广泛,技术完善,相对于其它综合网络广告商的优点是由其每月统一付款,但正应为如此,所以要求严格。公司支持中文网站,每推荐一人获得$1.5美金。最小起付额为25美元,每月统计付款。CJ,全称Com…

    2022年9月19日
    2
  • mysql innodb的事业隔离级别_sqlserver事务隔离级别

    mysql innodb的事业隔离级别_sqlserver事务隔离级别在Mysql中,事务主要有四种隔离级别,今天我们主要是通过示例来比较下,四种隔离级别实际在应用中,会出现什么样的对应现象。Readuncommitted(未提交读)Readcommitted(已提交读)Repeatableread(可重复读)Serializable(可串行化)在理解四种隔离级别之前,我们需要先了解另外三个名词:脏读不可重复读幻读脏读A事务,会读取到B事务还未提交的数…

    2022年8月31日
    4
  • 正则表达式用法简介与速查

    正则表达式用法简介与速查

    2021年7月5日
    199
  • av狼 php,www.ygyyxx.com

    av狼 php,www.ygyyxx.comDomainName:YGYYXX.COMRegistryDomainID:2350998641_DOMAIN_COM-VRSNRegistrarWHOISServer:whois.namesilo.comRegistrarURL:http://www.namesilo.comUpdatedDate:2020-01-08T14:48:59ZCreationDate:20…

    2022年9月22日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号