网络百姓生活网门户

求职 | PHP面试常用知识

北京达内教育2020-09-07 11:03:20

PHP基础知识,新人必备,老人必会。如果你忘记了,就赶紧拾起来吧。PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。


1、php时间处理
a、获取前一天 echo date(‘Y-m-d H:i:s’, strtotime(“-1 day”))
b、某个时间的前一天
$date = new DateTime(now());
$date->add(new DateInterval(P10D));
$date->sub(new DateInterval(PT1440M));


2、字符串翻转 strrev

3、mysql关于时间的函数 now() month() year day dayofweek()

4、截取中文无乱码的方法

5、客户端、服务器变量
$_SERVER[‘remote_addr’] $_SERVER[’SERVER_ADDR’]
5.1 是否为代理

5.2判断是否为ajax请求
isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']==='XMLHttpRequest';


6、session设置过期时间
session_set_cookie_params(24*3600);


7、常用排序函数
sort rsort ksort krsort natsort


8、字符串的处理,常用数组相关
explode implode


9、常用的html标签处理函数
htmlentities 标签转换为&quot等
html_entity_decode 转换回来
addslashes
阅读安全那一章节
9.2 入数据库前的处理
mysql_real_escape_string();


10、内存相关函数
memory_get_usage()
memory_get_peak_usage()
memory_limit限制内存使用


11、获取客户端ip,要考虑代理
if($_SERVER[‘http_x_forwarded_for’] != ‘’){
$clientIp = !empty($_SERVER[‘REMOTE_ADDR’]) ? $_SERVER[‘REMOTE_ADDR’] : !empty($_ENV[‘REMOTE_ADDR’]) ? $_ENV[‘REMOTE_ADDR’] : ‘unknown’;

}


12、验证电子邮件
echo preg_match(‘/^[\w\-\.]+@[\w\-\.]+[\.\w+]+$/’, $email);


13、文件扩展名
parse_url PHP_URL_SCHEMA\PHP_URL_HOST\PORT\PATH\QUERY\FRAGEMENT
pathinfo basename\extension\filename\dirname
basename 正则


14、strrchr(str, $delimiter)
HTTP常用知识点


15、http协议常用code

16、http1.1与http1.0的区别
增加了长连接以及复用链接的tcp技能,增加了host(虚拟), cache_control,
16.2 http请求头信息
host,url,method,accept_language,content_length,user_agent,code,cache_control,tag,expire,server


17、enctype=‘multipart/form-data’

18、setcookie(name,value,expire,path,domain)

19、时区设置 date_default_timezone_set(‘Asia/shanghai’)
或者php.ini中修改date.time_zone


20、查看php.ini的位置
phpinfo() | grep php.ini


21、slowlog在php-fpm.ini中设置
request_slowlog_timeout=1s
slowlog=/path/to/slowlog.log


22、魔术方法
__SET, __GET, __CALL, __toString, __construct, __destruct, __set, __isset, __unset, __autoload, __clone


23、static静态绑定

24、安全模式对系统函数的影响
之所以有安全模式,是为了试图去解决共享web服务器问题而产生的,避免注入脚本去执行脚本等。但即使禁止了php脚本,
攻击人员仍可以使用perl脚本,所以从5.4版本起被废除。
只要影响系统文件相关操作,会判断文件的owner跟当前owner是否为同一个,为同一个则执行。


25、php中垃圾回收机制
首先变量超出自己的作用域会被自动回收内存,也可以使用unset主动释放内存。一次web请求结束后,程序中对象占用的内存也会被释放掉。


26、为何对象支持foreach,原理是啥?
foreach一个对象,是因为对象实现了Iterator接口,或者子接口ArrayIterator。
foreach时实际调用被循环对象的相关方法实现的,接口方法有rewind,next,current,key,valid


27、安全写一个文件
function write_file($filename, $content){
$file = fopen($filename, 'w+');
while(!flock($file, LOCK_EX)){

}
fwrite($file, $content);
fclose($file);//会释放锁
}

文章转载自:PHP老杨 版权归作者所有


想了解PHP,达内1月免费试听 开始报名,你想要的,我们都有!限额速抢!

报名方法:

戳下方二维码↓↓↓

公众号回复姓名+电话即可报名参加~

往期精彩内容:

PHP躺枪 | 程序员最不喜欢的编程语言大调查!

新手须知丨PHP程序员技能栈

PHP入门指导:如何学习PHP?

实用丨10位顶级PHP大师的开发原则

干货丨PHP长网址与短网址的实现方法



达内学员就业喜报
1JAVA就业喜报:最高薪资20000元
2web前端:年薪15万,月薪12500元
3PHP就业喜报:最高薪资12000元
4Java大数据就业喜报:最高月薪30000
5Linux云计算就业喜报:最高月薪22000元
6C++就业喜报:最高月薪10000元
7网络营销就业喜报:最高薪资35000元
8产品经理就业喜报:最高年薪240000元
9更多…


福利(不是评论回复,是在公众号里回复哦)

回复“JAVA”、“PHP”、“WEB前端”、“C语言”,获取相关课程干货,还有更多免费试听课等你来~

*声明:推送内容及图片来源于网络,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。


北京达内教育涵盖:Java、大数据、H5/WEB、Android、iOS、C++、嵌入式、PHP、Linux、红帽、Python、Unity 3D、.net、UID、UED、产品经理、网络营销、软件测试、总账会计、会计中级、注册会计师、人大学历定制班等各类互联网教育

点击下方“阅读原文”预约报名达内1月免费训练营。