返回顶部下载帮助
网站模板
模板颜色分类:
当前位置: PHP学习 >

常见php面试题

2020-04-01 文章标签: php面试 浏览次数:

结合小编之前在面试php时候总结的一些经验,罗列初级或者中级php需要掌握的知识点,

php常见面试题

时间戳的处理,数组的处理,数据库的sql函数掌握情况,js常见的一些json,ajax等应用程度,还包含前端html常见问题。

感觉就是现在说的全栈工程师了,你需要掌握php mysql javascript html和一些常用的tp框架thinkphp,yii,ci等等js框架 vue,还有运维等方面数据注入,网站被黑,更有网络seo排名等知识点。

下面说说面试官经常问到的一些话题

A1.表单提交中的Get和Post的异同点

应用实例<form action="#" method="post?get" name="myform" id="myform">

Q1:

1. get是从服务器上获取数据,post是向服务器传送数据。
 
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 

3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 (可以直接修改url上面的值)

4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 

5. get安全性非常低,post安全性较高。

A2.HTML的base标签是干什么用的

应该案例:

<base target="_blank">这句,那么所有的超链接就无须单独设置。

Q2:

base必须写在head 中, base 标签为页面上的所有链接规定默认地址或默认目标

A3.写一个email的正则表达式

Q3:正则表达式应用也是很广的,在会员注册的时候验证手机号是否是11位,格式是否正确,邮箱啊,昵称等等,邮箱验证也分php验证和javsacript验证 可以双重验证

我们可以封装一个函数

 function verifyEmail($str){
    // $pattern = '/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}$/';
      //@前面的字符可以是英文字母和._- ,._-不能放在开头和结尾,且不能连续出现
    $pattern = '/^[a-z0-9]+([._-][a-z0-9]+)*@([0-9a-z]+\.[a-z]{2,14}(\.[a-z]{2})?)$/i';
  if(preg_match($pattern,$str)){
       return true;
    }else{
        return false;
    }
 }
 $str = 'freemuban@tom.com';
 //测试验证邮箱函数的功能
 if(verifyEmail($str)){
     echo '电子邮箱格式合法';
 }else{
     echo '电子邮箱格式不合法';
 }

具体正则表达式的规则可以看http://freemuban.com/php/h360.html

我们在看看javascript验证邮箱

<input type="text" value="" id="mail"/>
<input type="button" value="test" id="checkout" onclick="isValidMail(sText)" />
<script type="text/javascript">
 var sText = document.getElementById('mail').value;
 document.getElementById('mail').onblur = function sValue(){
  sText = this.value;
 }
 
 function isValidMail(sText) {
  var reMail = /^(?:[a-zA-Z0-9]+[_\-\+\.]?)*[a-zA-Z0-9]+@(?:([a-zA-Z0-9]+[_\-]?)*[a-zA-Z0-9]+\.)+([a-zA-Z]{2,})+$/;
  alert(reMail.test(sText))
 }

A4:数组['a', 'b', 'c'] 转换成字符串 'abc'

Q:这个就考到数据转换,字符串转数组,数组转字符串,需要用到implode函数和join含税

$arr1= implode('',['a', 'b', 'c']); 
$arr2= join(['a', 'b', 'c'],'');
print_r($arr2);

A5:获取字符串'aAbBdddaxcv'中A首次出现的位置

Q:这个就是掌握字符串处理,首次出现的位置,字符串反转,字符串转大写,字符串转小写等等字符串的处理,详情可以本站搜索字符串处理http://freemuban.com/php/h942.html

echo strpos($str,"A");

 

关于我们 - 联系我们 - 广告服务 - 友情链接 - 版权声明 - 手机版

免责声明:站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!版权归原创者所有,如果侵犯了您的权益,请通知我们,我们会及时删除侵权内容。