PHP面试问答题汇总(一)

  1. 抽象类

PHP抽象类使用abstract关键字定义
抽象类不能实例化,也不可以new成对象
抽象类可以没有抽象方法
没有方法体的方法叫抽象方法
抽象方法只能在抽象类中

  1. 数组指针函数

current():取得目前指针位置的内容资料。
key():读取目前指针所指向资料的索引值(键值)
next():将数组中的内部指针移动到下一个单元
prev():将数组的内部指针倒回一位
end():将数组的内部指针指向最后一个元素
reset():将目前指针无条件移至第一个索引位置

  1. 关于静态

静态的关键字 static
静态方法不需要通过对象即可调用
静态属性不可以由对象通过->操作符访问
静态成员属性使用类名::静态成员属性名
静态方法使用 类名::静态方法名
静态方法使用 使用$实例对象->静态方法名

  1. post与get区别

get发送信息可见,post不可见
get发送信息总长度不超过100个字符,post可以

  1. 标识符允许出现的符号

大写字母 $A
小写字母 $a
数字 $a1

  1. echo,print,printf区别

echo、print、printf可以打印变量内容,但不能显示数组及系统超过级变量数组
print_r不仅可以打印数组、标题变量,还可以打印对象的内容
echo,print可以拼接字符串
echo 是语法结构,也就是关键字,不是函数,所以不存在返回值一说
print()能作为表达式的一部分,echo()不能

  1. 如果你的脚本无法正确识别另一个存储于另一个平台上文件的行结尾,应该怎么办?

auto_detect_line_endings默认是0。设置为1时,PHP 将检查通过 fgets() 和 file() 取得的数据中的行结束符号是符合 Unix、MS-Dos 还是 Mac 不同平台的习惯

  1. 在PHP中使用当前时间作为随机数种子产生随机数不是安全的
  2. git命令

add:添加到仓库
reset:撤销没提交的文件
fetch:获取远程仓库代码
rebase:衍和指定分支到当前分支
merge:合并指定分支到当前分支

  1. require与include区别

require函数通常在PHP程序的最前面
include函数一般在流程控制的处理部分
require引入不存在的文件会导致致命性错误且脚本停止
include在引入不存在的文件会产生一个警告脚本继续执行
require_once和include_once都会检查文件是否包含过,如果是则不会包含

  1. mysql_fetch_object

mysql_fetch_object返回值是个对象,在速度上和mysql_fetch_array及mysql_fetch_row差不多

  1. PHP中,如果需要类C的实例销毁时自动完成某些逻辑,应该怎么做?

定义析构函数:_destruct
析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行

  1. 在PHP操作数据库方法中,mysql_affected_rows()对哪个操作有影响?

mysql_affected_rows() 取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
mysqli_affected_rows() 函数返回前一次 MySQL 操作(SELECT、INSERT、UPDATE、REPLACE、DELETE)所影响的记录行数。

  1. PDO提供多种不同的错误处理模式。有哪些?

PDO::ERRMODE_SILENT 不报错误
PDO::ERRMODE_WARNING 以警告方式报错
PDO::ERRMODE_EXCEPTION 以异常方式报错

  1. 比较二进制字符串函数

strcmp() 方法用于比较两个字符串(区分大小写) >0字符串1大于字符串2 0两个字符串相等
strcasecmp()用于比较两个字符串(不区分大小写) >0字符串1大于字符串2 0两个字符串相等
stristr()方法用于搜索字符串在另一字符串中的第一次出现
strpos() 函数 是查找字符在字符串第一次出现的位置

  1. 单引号,双引号的区别

双引号对字符串解析,解析转义字符(\r.\t),单引号不解析
单引号速度快,双引号速度慢
尽量使用单引号
双引号解析其中$开头的变量,而单引号不解析

  1. getdata()函数返回

print_r(getdate()); 返回的是数组
Array
(
[seconds] => 56
[minutes] => 26
[hours] => 6
[mday] => 12
[wday] => 0
[mon] => 4
[year] => 2020
[yday] => 102
[weekday] => Sunday
[month] => April
[0] => 1586672816
)

  1. 读写模式打开文件"FILE.txt"

fopen(“FILE.txt”,“r+”);

‘r’ 只读方式打开,将文件指针指向文件头。
‘w’ 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
‘r+’ 读写方式打开,将文件指针指向文件头。
‘w+’ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
‘a’ 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
‘a+’ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

  1. PHP session说法正确的是

必须在发送任何HTML、文本信息前调用session_start() 函数
session_start() 函数必须位于 标签之前

  1. PHP cookie说法正确的是

setcookie()函数用于设置cookie,且必须位于标签之前
cookie是服务器留在用户计算机中的小文件
如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了
会话cookie一般不保存在硬盘上而是保存在内存里

接下文:PHP面试问答题汇总(二)

你可能感兴趣的:(PHP)