1.include与require的区别
》其实他们两个都是引用别的文件的功能,但是他们的错误级别不同,include是包含的意思,如果include使用不当
仅仅是会报警告,但是有的时候,我们通常会禁止掉警告,但是require是报的错误,能更好的发现问题
2.include_once ,require_once
》其实当多次引用同一个文件的时候,是会报错的,当项目非常大的时候,整个引用是非常混乱的,这个时候为了防止这种情况出现,就可以使用require_once和include_once了
3.类(与c++基本一致)
》同一个文件中可以定义很多个类
》定义一个对象是用new来实现的
4.命名空间
如果要定义有多个名字都一样的类,这个时候就要用到命名空间的概念,不同命名空间中可以有相同名字的类
eg:
namespace def;
class Hello
{
}
namespace ddd;
class Hello
{
}
$h1 = new defHello();
$h2 = new dddHello();
5.构造函数与析构函数
public function __construct(/*可以是带参数的*/)
{
#创建对象的时候,调用
}
public function __destruct(/*可以使带参数的*/)
{
#销毁对象的时候调用
}
值得注意的是:在php中仍然有$this变量
6。成员方法和类方法(与c++并无差别)
static关键字
执行这个类方法的时候,就不需要去创建实例调用,可以直接用 类名::方法名称
7.继承
extends:与java类似
在执行父类的构造方法的时候,用parent::_construct(/*里面是一些有的没得参数*/);
子类的对象可以调用父类的共有的方法等
8.重写(与c++中类似)
9.时间
time()函数:时间戳
date()函数:日期
》以上的时间可能与本地时间不符,可能是时区不一样导致的
》获得时区的方法
echo date_default_timezone_get();
》设置时区的方法
date_default_timezone_set('Asia/Shanghai')
其中里面的参数可以在php.net中查看
eg:
1539937461
Asia/Shanghai
18-10-19 16:24:21
》如何将时间戳转换成日期
echo date('Y-m-d H:i:s',time());
10.JSON格式的数据
eg:
[1,2,5,7,8,"hello",[6,7,8],{"h":"Hello"}]
{"h":"hello","w":"world",{1,2,3}}
》编码
$arr1 = array(1,2,4,array('rrvr'=>'rf','hello'=>'world','good'=>'morning'),8,'58','hhh');
echo json_encode($arr1);
结果:
[1,2,4,{"rrvr":"rf","hello":"world","good":"morning"},8,"58","hhh"]
》解码
$arr = '{"h":"hello","w":"world"}';
$obj = json_decode($arr);
print_r($obj);
echo $obj->w;
结果:
2018-10-19 18:27:24stdClass Object ( [h] => hello [w] => world )
world
::php对于json格式的数据的支持是非常良好地