php参数必须为11位,PHP基础知识

1、PHP是什么?

PHP是一种创建动态交互性站点的服务器脚本语言。

2、PHP的语法

PHP脚本可以放置在文档的任何位置,PHP脚本是以<?php开始 ,?>结束。PHP文件的默认扩展名是“.php”,PHP文件通常包含HTML标签和PHP脚本代码。PHP中每个代码行必须以分号(;)结束,分号是一种分隔符,用来把指令集区分开来。

3、PHP变量

变量是用于存储信息的容器。

4、echo、print、print_r、printf、sprintf、var_dump的区别

echo是PHP语言,没有返回值,可以输出一个或多个简单类型数据(int、string)。

print即使函数又不能算是函数(print()可以打印数据,print也可以直接打印数据),有返回值,可以打印一个简单类型的数据(int、string)。

print_r是函数,有返回值,可以打印复杂类型的数据(array、object)。

printf是函数,输出格式化之后的字符串。

sprintf是函数和printf一样,唯一不同的是它不会直接输出,而是要赋值给一个变量。

var_dump是函数,用来输出变量的内容、类型、长度,通常用来调试。

5、EOF(heredoc)是什么及使用方法

EOF(heredoc)是一种在命令行和程序语言里定义一个字符的方法。

结尾必须以分号结束,否则编译不成功。

EOF可以用任何字符代替,但首位必须一致。

结束标识必须顶格独自占一行(从首行开始前后不能衔接任何空白字符)

开始标识可以不带引号或带单双引号,不带引号和带单双引号效果一样。

5、PHP数据类型

integer(整型)、string(字符串)、float(浮点型)、boolean(布尔)、array(数组)、object(对象)、null(空值)

6、PHP常量

常量是一个简单值得标识符,该值在脚本中不能改变。常量名称是由英文、下划线、和数字构成,但是数字不能作为首字母(常量名不需要加$符),常量是全局的。

define('常量名称', '常量值', false),define用来定义常量,第一个参数是常量名称,第二个参数是常量值,第三个参数是bool(true、false)默认是false大小写敏感,true是大小写不敏感。

7、PHP注释符号

/*多行注释*/

//单行注释

#单行注释

8、在PHP里

.的作用是什么

在PHP里

.

的作用是拼接字符串

9、PHP运算符

算术运算符:+相加、-相减、*乘法、/除法、-x取反、%除法取余、.拼接、intdiv()整除(PHP7+新增运算符)

赋值运算符:=左侧操作数被设置为右侧表达式数、+=相加、-=相减、*=相乘、/=相除、%=除法取余、.=连接两个字符串

递增、递减运算符:++i(先i+1,然后返回i)、i++(先返回i,然后i+1)、--i(先i-1,然后返回i)、i--(先返回i,然后i-1)

比较运算符:==相等、===绝对相等(类型相同)、!=不等、!==绝对不等、<>不等、大于、<=小于等于、>=大于等于

逻辑运算符:and与、or或、&&与、||或、xor异或、!非

数组运算符:+集合、==相等、===恒等、!=不相等、!==不恒等、<>不相等

三元运算符:格式(isset($x) ? $x : $y),PHP7+新增null合并运算符??(格式:$x ?? '$x为空',$x存在不为null,返回$x。为null返回错误提示)

组合比较符:PHP7+新增组合运算符也称之为太空船运算符,可以轻松实现两个变量的比较,不仅限于数值类的比较。组合运算符格式:<=>,组合运算符解析:$x

= $a <=> $b,$a > $b则$x等于1,$a < $b则$x等于-1,$a == $b则$x等于0。

10、if...elseif...else和switch判断语句

if...elseif...else和switch都是根据条件判断去执行不同动作。

11、超全局变量

超全局变量是PHP自带变量,在脚本的全部作用域都可用。$GLOBALS、$_GET、$_POST、$_FILES、$_ENV、$_SERVER、$_COOKIE、$_SESSION、$_REQUEST

12、PHP循环

while、do...while、for、foreach

13、魔术常量

__LINE__文件中当前行号、__FILE__文件完整的路径和文件名、__CLASS__当前类名、__FUNCTION__当前函数名、__METHOD__当前类名和方法名、__NAMESPACE__当前命名空间、__DIR__文件所在目录、__TRAIT__代码复用方法traits

14、include、require、include_once、require_once的区别

include、require、include_once、require_once包含加载文件其他文件代码

include、require不同之处:require会产生致命报错,当文件代码有错误的时候脚本会停止执行,include在文件代码有错误时会生成一个警告,脚本会继续执行。

include_once、require_once只包含一次,如果已经存在文件代码,就不会继续包含加载。

15、cookie、session的相同和不同之处

cookie、session跨页面不跨用户,cookie只能能保存字符串类型数据,session可以保存任何人类型数据。cookie产生于服务器,存储在客户端。session产生于服务器,存储在服务器。

16、Redis和MemCached的区别:

Redis和MemCached都是key-value存储系统,MemCached存储数据类型单一,Redis可存储多种数据类型。Redis速度比MemCached快,MemCached存在内存中,断电数据会丢失。

17、Redis数据类型

string字符串、hash散列、list列表、set集合、sorted set有序集合

18、MySQL int(11)可以保存手机号码吗

不可以,int类型的长度4个字节,手机号在第5个字节的时候会被吞掉。

19、MySQL索引有几种,有什么区别没有

普通索引:没有任何限制

唯一索引:与普通索引类似,不同之处就是索引字段值是唯一的允许有空值

主键索引:一般是建表的时候设置,主键值是唯一的,不允许有空值

复合索引:多个列上创建索引,加速复合条件查询

全文索引:在MySQL5.6之前只有MyISAM引擎有全文索引,MySQL5.6之后InnoDB也支持全文索引。

20、MySQL中MyISAM和InnoDB的区别

MyISAM引擎查询快,支持全文索引,不支持事务、外键,支持表级锁。

InnoDB引擎查询慢,增删改快,支持事务、外键,支持事务和行级锁。MySQL5.6之后支持全文索引。

21、InnoDB 4大特征

插入缓冲

二次写

预读

自适应hash索引

21、数据库优化

选择合适的字段类型(比如用varchar替换char)

用join连接代替子查询

使用union联合代替手动创建临时表

事务

锁定表

使用外键

使用索引

优化查询语句

分库、分表

22、优化查询语句的方法

select查询尽量不要直接用*,直接使用指定的字段

在相同类型的字段上作比较操作(不用进行类型转换)

不要在索引的字段上使用函数操作

尽量使用数字类型字段

避免使用!=、<>、is null、is not null

建议每张表都设置自增主键

避免大事务操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值