PHP面试题

PHP相关

php7新特性

1.类型的声明

php7可以声明函数传参的类型和返回值的类型,比如可以用int,string声明参数和返回值的类型,如下:

代码:declare(strict_types=1);

function add(int $a,int $b):int{

return $a+$b;

}

echo add(1, 2).'
';

echo add(1.5, 2.6);

返回结果:

在php-5.6.27版本及以前版本的返回结果为:

e46b07adb0bc6a810933bb3c20e94386.png

在php-7.0.12版本及以后版本的返回结果为:

b56644a33ce40c18f6c3d7e7dd115666.png

php5是无法执行上面代码的,php7执行的时候会先输出一个3和一个报错( Argument 1 passed to add() must be of the type integer, float given);

2.新增了操作符

旧版本:$a = $a ? $a : 1;

php7:$a = $a ?? 1;

laravel和yii区别

1.laravel每个方法都要定义路由,yii则不需要

2.laravel不支持命令生成curd,yii中可以使用gii快速生成curd

3.laravel封装的比较深比较重,而yii则比较轻巧

数据库相关

1.mysql和mongo的区别

mysql是关系型数据库,mongo是非关系型数据库,mongo将数据存储为一个文档,数据结构是键值对,文档相当于是json对象,mongo不支持事务和sql,不经过sql解析,所以mongo能抗高并发,mysql支持事务和sql且能支持连表查询,对数据准确性要求很高的话不能用mongo

2.mysql和es的区别(以及es为什么会快)

musql是是关系型数据库,es是非关系数据库,es将数据存储为文档,mysql索引使用的是b+树,es使用的索引是倒排索引,模糊查询的时候b+树需要全表扫描,而es则是把数据进行分词形成term字典,然后对字典进行创建索引,索引放到内存中,减少了磁盘io,所以es很快

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值