PHP

### PHP 基础

- 简述 PHP

    > PHP 是一个基于 __服务端__ 来创建 __动态网站__ 的脚本语言,可以结合 HTML 来生成主页;

- PHP 的八种类型

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


- 以下预定义全局变量的作用

    ```

    // 当前运行脚本所在目录的根目录

    $_SERVER['DOCUMENT_ROOT'];


    // 当前请求 Host 头部的内容

    $_SERVER['HTTP_HOST'];


    // 当前请求用户的 ip

    $_SERVER['REMOTE_ADDR'];


    // 链接到当前页面的前一页的 url 地址

    $_SERVER['HTTP_REFERER'];


    // 当前服务器的名称

    $_SERVER['SERVER_NAME'];


    // 上传文件的所有信息

    $_FILE;


    ```    


-     比较```include()```和```require()```

    > 两者最大的区别就是对包含文件需求程度;


    > - ```include()``` 就是包含,如果包含的文件不存在,会提示一个错误,但是程序仍然往下执行;


    > - ```require()``` 是需要,如果包含的文件不存在,则报出一个致命的错误,程序也会终止执行;


    > - ```include()``` 执行文件时,每次都要读取和评估;```require()``` 文件只处理一次;如果大量代码只读取一个文件 ```require()``` 效率更高,读取多个文件 ```include()``` 效率更高;


    > - ```include_once()``` 和 ```require_once()``` 都是包含一次,避免重复包含;


-    POST 和 GET 的最大传输容量分别是多少?

    > POST 是根据 php.ini 文件配置的(默认是 8M);


    > GET 一般大小限制在 2kb;


    > *一般来说 get/post 是没有长度限制的,主要的限制是来源于 __浏览器__ 和 __服务器__*


    > 区别:


    >- get 可以被 cache ,而 post 不能被缓存;

    >- get 请求有长度的限制,post 理论上是没有长度的限制的;

    >- get 提交的数据较小,一般是 2k ~ 8k ,而 post 提交的数据较大,大小是根据服务器设定来的;


-     如何判断接收的数据是 POST 还是 GET

    > ```$_SERVER['REQUEST_METHOD']```


-     ```echo```、```print```、```print_r```的区别

    > ```echo``` 是一个语言结构,输出一个或者多个字符串;


    > ``` print()``` 输出一个字符串;


    > ```print_r()``` 是一个函数,打印的是变量的信息,对象、数组等


-     传值赋值和引用赋值的区别

    > 传值赋值是将内容复制一份,修改其中一个变量另一个变量不会受到影响;引用是将两个变量指向同一个内存空间,其中一个变量改变会影响到另一个变量;


    > 引用赋值使用 ```&```    


-    将 1234567890 修改成 1,234,567,890

    >```$a = '1234567890';

        $b = strrev($a); // 翻转字符串

        $c = chunk_split($b, 3, ','); // 分割字符串

        $d = strrev($c);

        $e = substr($d, 1);// 截取字符串

        // $e = ltrim($d, ','); // 删除字符串开头的空白字符(或其他字符)

        echo $e . PHP_EOL;

    ```        

你可能感兴趣的:(PHP)