前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP基础面试题

PHP基础面试题

作者头像
仇诺伊
发布2020-04-24 11:23:29
9410
发布2020-04-24 11:23:29
举报
文章被收录于专栏:佳爷的后花媛

考察点

  • 引用变量
  • 常量以及数据类型
  • 运算符
  • 流程控制
  • 自定义函数
  • 正则表达式
  • 文件以及目录处理
  • 会话控制技术
  • 面向对象
  • 网络协议
  • 开发环境以及配置
  • 魔术函数
  • Q:question
  • A:answer

引用变量

Q:什么是引用变量?在PHP中,用什么符号定义引用变量?

考点:

  • PHP的引用变量概念以及定义方式。
  • PHP引用变量的原理

A:

概念:

在PHP中引用意味着用不同的名字访问同一个变量内容。

定义方式:

使用&符号

引用变量的工作原理:

下面是几个例子,对比程序的运行结果,观察引用的情况:

最后来一个常见的面试题:

运行结果如下:

数据类型

Q:PHP中字符串可以使用哪三种定义方法以及各自的区别是什么?

考点:

  • PHP字符串的定义方式以及区别
  • 数据类型 和常量

A:

定义方式:单引号、双引号、heredoc(类似双引号)、newdoc(类似单引号),处理大文本。

数据类型:

浮点类型不能运用到比较运算中,有可能会踩坑,别不信,给你看。

注意布尔类型false的七种情况:

false, null , ' ', array(), 0, 0.0, '0',

数组类型:

超全局数组!同色框框表示小框框包括大框框里面的。

重点是$_SERVER

query_string是url小问号?后面的一串

NULL的三种情况:

  • 直接赋值null
  • 未定义的变量
  • unset销毁的变量

常量:

const:语言结构,更快

define:函数。不能用于类常量的定义,const可以

预定义常量:

运算符考点

Q:foo和@foo()之间的区别?

考点:

  • 错误控制符
  • 所有运算符的考察

A:

使用@错误控制符,该表达式前面的所有错误信息都会被忽略掉,但是不会解决错误。

运算符:

Q:==和===的区别?等值判断的七种情况

A:

== 比较值

=== 比较值和类型

递增递减不会影响布尔值,递减null不影响但是递增会➕1.

递增递减在前(++/--i)就先运算符后返回,反之(i++/--)就先返回后运算。

这里有个例子,注意里面的符号,以及短路作用。结合上面的优先级,可以看看:

流程控制

Q:请列出3种PHP数组循环操作的语法,并注明各种循环的区别。

考点

  • PHP遍历数组的三种方式和区别
  • 分支结构

A:

  • for
  • foreach
  • while list() each()

分支机构:

if..elseif()

switch(){

case:...case

}

生成索引表,效率会高点。

Q: 如何优化多个if...elseif语句的情况?

A:表达式可能性大的放前面,如果比较情况复杂,可使用

switch(){

case:user

}

代替。

自定义函数

返回值的问题

遇到return会终止函数,将控制权交回函数调用处,省略return,返回值为null,不可有多个返回值。

函数的引用返回:

从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用运算符&

外部文件的导入:

系统内置函数:

时间日期函数:

IP处理函数:

打印处理:

print_r打印false,null什么的需要注意,显示为空;

var_dump不一样,Null会显示,false也会显示。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 佳爷的后花媛 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档