php preg_match 只匹配第一个字符_PHP面试之一:PHP基础知识点

c196a99bb95e5480dd2a864782805427.png

PHP引用变量

  • 什么是引用变量?如何定义引用变量?

引用意味着用不同的名字访问同一个内容 定义引用变量:使用&
  • 引用变量的工作原理

普通变量的工作原理
0,

b597feac38829a966f09d730c174b639.png

引用变量的工作原理
0,

4b24ac49007b62f3d72e9a0d5761bc6d.png

注意:
1、引用变量一旦定义,此变量永远是引用变量,不可能再变回普通变量
2、引用变量可以修改引用的值,例如:
$a = 'a';
$c = 'c';
$b = &$a;
$b = &$c; //修改引用

常量及数据类型

  • 字符串的定义方式及各自区别

单引号、双引号、heredoc、newdoc
单引号:不能解析变量,只能解析单引号(\')和反斜线(\\)转义字符,比双引号效率高
//heredoc定义
  • 数据类型

浮点数: 不能用于运算/比较运算,因为浮点数不是精确的
FALSE七种情况: 0、0.0、'0'、''、NULL、false、array()
超全局数组(九种):
$GLOBALS、$_GET、$_POST、$_SERVER、$_SESSION、$_COOKIE、$_FILES、$_ENV、$_REQUEST

//$GLOBALS包含其他8种
//$_REQUEST包含$_GET、$_POST和$_COOKIE

$_SERVER['REQUESR_URI']与$_SERVER['PATH_INFO']区别

http://localhost/aaa/index.php/foo/bar.html?p=222&q=333
$_SERVER['QUERY_STRING'] = "p=222&q=333";
$_SERVER['REQUEST_URI'] = "/aaa/index.php/foo/bar.html?p=222&q=333";
$_SERVER['SCRIPT_NAME'] = "/aaa/index.php";
$_SERVER['PHP_SELF'] = "/aaa/index.php";
$_SERVER['PATH_INFO'] = ‘/foo/bar.html’
  • 常量

2种定义方式:define()与const
define()函数
预定义常量
__FILE__、

运算符

  • PHP错误运算符@

当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都将被忽略掉
  • 运算符的优先级

运算符优先级

递增/递减 > ! > 算术运算符 > 大小比较 > (不)相等比较 > 引用 > ^ > | > 逻辑与&& > 逻辑或|| > 三目 > 赋值 > and > xor > or
<?php if($a = 3 > 0 && $b = 3 > 0){echo 'true';
}else{echo 'false';
}?>// 相当于if($a = ((3 > 0) && ($b = 3 > 0)))
  • 比较运算符

==与===区别
FALSE七种情况)
  • 逻辑运算符

短路作用:逻辑与&& > 逻辑或|| > 三目 > 赋值 > and > xor > or
  • 递增/递减运算符

1

流程控制

  • PHP遍历数组的三种方式及各自区别

1.for循环(while/do...while) 2.foreach循环 3.while、each()、list()组合
区别:
for循环:只能遍历索引数组
foreach循环:能遍历关联数组和索引数组
while、each()、list()组合:能遍历关联数组和索引数组

foreach循环遍历数组前,会对数组进行reset()操作
while、each()、list()组合则不会进行reset()操作
  • PHP分支结构

if...elseif... 原则: 可能性大的放在前面 switch...case... 与 if 区别:  判断参数的数据类型只能是整形、浮点、字符串
switch...

自定义函数及内部函数

  • 变量作用域

大部分变量只有一个单独的范围,这个单独范围跨度包含了include与requires的文件
如果在非类中引入文件,该文件内部可以使用全局变量和函数
如果在类中引入文件,该文件内部可以使用函数、类的方法、类的属性
  • 函数/方法传参

传参分2种:
1、值传递
2、引用传递(函数修改该值,传递的参数必须是 变量)
//引用传递函数定义
  • 函数返回值

可以返回任意数据类型的值 省略return 默认返回NULL,如果要返回多个值请使用数组
2种方式返回
函数内部修改外部变量的值,使用引用传参外部变量修改函数内部变量的值,使用引用返回
  • 引入外部文件

引入的代码将继承引入位置的作用域,即 使用include或require位置可以使用的变量
include与require区别
  • 系统内置函数

时间日期函数
date()、
IP处理函数
ip2long()、
打印处理函数
print()、
序列化及反序列化函数
serialize()、
字符串处理函数
trim()、
数组处理函数
array_rande()、

正则表达式

  • 正则表达式作用(四种)

分割、查找、匹配、替换 作用对象: 字符串、字符串、字符串(重要的事情记3遍)
  • 正则表达式的组成部分

hash符(
  • 向后引用

题目:把字符串 'abc' 替换为 'abc' 如何使用正则做到?
'abc';
  • 贪婪模式

题目:把字符串 'abcdef' 替换为 'abcdef' 如何使用正则做到?
'abcdef';
注意:默认是贪婪模式
  • 正则表达式PHP函数

preg_match()、preg_match_all()、preg_replace()、preg_split()
  • 中文匹配问题

中文分utf-8与gbk两种编码,他们正则表达式不同

文件及目录处理

  • 打开文件函数:fopen()

用于打开一个文件,打开时需要指定一个打开模式 打开模式:r/r+、w/w+、x/x+、a/a+、b、t
r+ 追加写 w 覆盖写
  • 读取文件函数:fread()/fgets()/fgetc()

fgets() 读取一行 fgetc() 读取字符
  • 写入文件函数:fwrite()/fputs()

  • 关闭文件函数:fclose()

  • 不需要fopen()都能操作文件

file_put_contents() file_get_contents()
  • 访问远程文件(不推荐开启)

开启allow_url_fopen() , http协议只能使用只读,ftp协议可以只能只读或只写
  • 目录操作函数

目录名称:basename()dirname()pathinfo() 目录读取:opendir()readdir()closedir()rewinddir() 目录删除:rmdir() 目录创建:mkdir()
  • 目录遍历

//遍历

会话控制

  • 会话控制的三种实现

1
  • 如果禁用cookie后,该如何实现会话控制?

只能通过URL把SessionID传过去
<a href="next.php?<?php echo session_name().'='.session_id(); ?>">下一页

面向对象

  • 访问控制符

public、protected、private

网络协议

  • GET与POST区别

1

四种数据编码

开发环境及PHP配置

  • 版本控制软件

82675297579ae7fce04b63e14642e9cb.png

  • PHP运行原理

主要了解 CGI、FastCGI、PHP-FPM
CGI:是一种通讯协议(已经过时,性能低下)
PHP 有5种PHP运行模式:链接
1、以

cd4c407b123243f5e32a7212cf869d20.png

2、以FastCGI模式运行PHP

a931cf9b6f9c71cdb2bf425ca98a6d63.png

php54是之前是一种关系,php54之后另一种关系。
php54之前,php-fpm(第三方编译)是管理器,php-cgi是解释器
php54之后,php-fpm(官方自带),master 与 pool 模式。php-fpm 和 php-cgi 没有关系了。php-fpm又是解释器,又是管理器
3、以Apache模块模式运行PHP
  • PHP常见配置

PHP 数组排序

adf7251406af0f4a0117f822dc0a5d6c.png

End

来源:https://segmentfault.com/a/1190000011335262

3c7a7aea6f61c551bc57fdb0e971b140.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值