(一) echo print print_r var_dump区别
echo
print
是语言结构
print_r
var_dump
是普通函数
echo
:输出一个或多个字符串
print
:输出字符串
print_r
:打印关于变量的易于理解的信息
var_dump
:打印关于变量的易于理解的信息(带类型)
(二)单引号和双引号的区别
双引号可以被解析器解析,单引号则不行
(三) isset和empty的区别
isset
:检测变量是否已设置并且非null
empty
: 判断变量是否为空,变量为0/false也会认为是空,变量不存在会报错
static self $this的区别
static
:static 可以用于静态或非静态方法中,也可以访问类的静态属性、静态方法、常量和非静态方法,但不能访问静态属性
self
:可以用于访问类的 静态属性、静态方法和常量,但self指向的是当前定义所在的类,这是self的限制
$this
:指向的是实际调用的对象,也就是说,实际运行过程中,谁调用了嘞的属性或方法,
t
h
i
s
指
向
的
就
是
哪
个
对
象
,
但
this指向的就是哪个对象,但
this指向的就是哪个对象,但this 不能访问类的静态属性和常量,且$this不能存在静态方法
include
、require
:几乎完全一样,除了处理失败的方式不同之外。require在出错时产生E_COMPILE_ERROR级别的错误。换句话说将导致脚本终止而include只产生警告(E_WARNING),脚本会继续运行
include_once
、requre_once
:在脚本指向期间包含并运行指定文件。此行为和include语句类型,唯一区别是如果该文件夹中已经被包含过,则不会再次包含。
常见数组函数
array_count_values
: 统计数组中所有的值
array_flip
:交换数组中的键和值
array_merge
:合并一个或多个数组
array_multisort
: 对多个数组或多维数组进行排序
array_pad
:以指定长度将一个值填充进数组
array_pop
:弹出数组最后一个单元(出栈)
array_push
:将一个或多个单元压入数组的末尾(入栈)
array_rand
:从数组中随机(伪随机)
array_keys
:返回数组中部分的或所有的键名
array_values
:返回数组中所有的值
count
:计算数组中的单元数目,或对象中的属性个数
sort
:对数组排序
Cookie和Session
cookie
:PHP透明的支持HTTP cookie。cookie是一种远程浏览器端存储数据并以此来追踪和识别用户的机制
session
:会话机制在PHP中用于保持用户连续访问web应用时的相关数据
预定义变量
$GOLBALS
:引用全局作用域中可用的全部变量
$_SERVER
:服务器和执行环境信息
$_GET
:http get变量
$_POST
: http post变量
$_FILE
:http 文件上传变量
$_REQUEST
: http request变量
$_SESSION
: session变量
$_ENV
:环境变量
$_COOKIE
: — HTTP Cookies
$php_errormsg
:— 前一个错误信息
$HTTP_RAW_POST_DATA
: — 原生POST数据
$http_response_header
: — HTTP 响应头
$argc
:— 传递给脚本的参数数目
$argv
:— 传递给脚本的参数数组
php.ini配置选项
名字 | 默认 | 备注 |
---|---|---|
short_open_tag | ‘1’ | 是否开启缩写形式(<? ?>) |
precision | “14” | 浮点数中显示有效数字的位数 |
disable_functions | “” | 禁止某些函数 |
disable_classes | “” | 禁止某些类 |
expose_php | “” | 是否暴露PHP被安装在服务器上 |
max_execution | “30” | 最大执行时间 |
memory_limit | 128M | 每个脚本执行的内存限制 |
error_reporting | null | 设置错误报告的级别 |
display_errors | 1 | 显示错误 |
log_errors | “0” | 设置是否将错误记录到error_log中 |
error_log | null | 设置脚本错误将记录到的文件 |
upload_max_filesize | 2M | 最大上传文件大小 |
post_max_size | 8M | 设置post最大数据限制 |
如何返回一个301重定向
header('HTTP/1.1 301 Moved Permanently');
header('Location:https://www.baidu.com');