php01

作者: 东邪_黄药师 | 来源:发表于2018-09-23 23:21 被阅读0次

    <?php

    // PHP 所有能力都是函数,内置1000多个函数

    $str = 'hello';
    // 获取字符串长度

    echo strlen($str);

    // 获取中文字符串(宽字符)的长度
    // strlen 只能获取拉丁文的长度
    // 内置成员函数直接使用
    echo strlen('你好');

    // PHP 中专门为 宽字符集 添加了一套 API
    // 这一套 API 不在内置的 1000+ 里面,而是在一个模块(php_mbstring.dll)中
    // 模块成员必须通过配置文件载入模块过后再使用
    // 所有的API 都是 mb_xxxx
    echo mb_strlen('你好');

    // 配置 PHP 扩展的步骤
    // 1. 在 PHP 的安装目录去创建一个 php.in
    // 2. extension_dir
    // 3. ;extension=php_mbstring.dll
    // 4. 默认Apache加载的php.ini 是去 Windows目录找的
    // 5. 可以通过 Apache 的配置文件修改默认加载路径 PHPIniDir
    ==============================================================

    // 类型: 1. 索引数组 2. 关联数组
    // 方式: 1. array() 2. [] (PHP 5.4)

    dict = array( 'hello' => '你好', 'hello1' => '你好', 'hello2' => '你好', ); ================================================================== // var_dump(array_keys(dict));
    // // => ['hello', 'hello1', 'hello2']

    // var_dump(array_values($dict));
    // // => ['你好', '你好', '你好']

    // var_dump(array_key_exists('hello', dict)); // var_dump(array_key_exists('hello4',dict));

    // 只有当 php.ini 中 display_errors = On 时候
    // 才会在界面上显示 notice 错误
    // 开发阶段一定设置为 On 生产阶段(上线)设置为 Off

    // isset 也可判断数组中是否有指定的键
    // 这种类似于 JavaScript 的方式虽然可以达到效果,但是会有警告
    // if (dict['foo']) { // echodict['foo'];
    // } else {
    // echo '没有';
    // }

    // isset 会吞掉 Undefined index 的警告

    if (isset(dict['foo'])) { echodict['foo'];
    } else {
    echo '没有';
    }
    // isset(dict['foo']) //dict['foo'] =>
    // isset()

    // empty(dict['foo']) 相当于 !isset(dict['foo']) || dict['foo'] == false if (empty(dict['foo'])) {
    echo '没有';
    } else {
    echo $dict['foo'];
    }

    // empty 的实现
    // function empty (input) { // return !isset(input) || $input == false
    // }
    ==============================================================
    time:
    <?php

    // 1. 通过代码设置时区,更推荐
    date_default_timezone_set('PRC');
    // 2. 通过配置文件设置时区
    // date.timezone = PRC

    // // time 获取到的是 秒数为单位的时间戳
    // echo time();

    // echo '
    ';
    // // 格式化一个时间戳
    // // 第一个参数是一个时间格式
    // // 第二个参数是一个时间戳
    // // 默认时间戳获取的就是格林威治时间
    // echo date('Y-m-d H:i:s', time());

    $str = '2017-10-22 15:18:58';

    // 对已有时间做格式化
    // strtotime 可以用来将一个有格式的时间字符串 转换为一个 时间戳
    timestamp = strtotime(str);

    // 注意单引号字符串问题
    echo date('Y年m月d日<b\r>H:i:s', $timestamp);
    ============================================================
    常量在PHP中的使用:
    // PHP 中可以通过 define 函数定义 一个常量
    // 常量的特点就是:定义后不能被修改,也是临时存放数据的容器
    // 什么时候用常量:一般程序的配置信息(不会在运行过程中修改)都会在常量中定义
    // what why how where when

    // 变量或函数都是采用 snake_case (小写字母加下划线)命名规则
    // 常量是 SNAKE_CASE 命名规则
    // 第一个参数常量名称
    // 第二个是常量的值

    define('SYSTEM_NAME', '阿里百秀');
    

    // 第三个参数是常量名称是否忽略大小写 默认为false 不忽略

      define('SYSTEM_VERSION', '1.0', true);
    
    
          echo SYSTEM_NAME;
    

    // echo system_name;

             echo SYSTEM_VERSION;
    

    ==============================================================
    config:
    <?php

    /**

    • 定义公共的配置信息
      1. 便于维护
      1. 公共使用
        */

    define('SYSTEM_NAME', 'HELLO');
    define('SYSTEM_VERSION', '1.0.0');
    define('DB_HOST', '192.168.110.120');

    // // 类似 CSS 的 import 导入文件
    require 'config.php';
    //require 可以用于在当前脚本中载入一个别的脚本文件并且执行他
    //require 在每一次调用时都会载入对应的文件

      echo SYSTEM_NAME;
    
     require 'config.php';
    
    echo SYSTEM_NAME;
    

    // require_once ==================================
    // require_once 如果之前载入过,不再执行(只执行一次)
    // 由于类似于 定义常量 定义函数 这种操作不能执行多次
    // 所以 require_once 更加合适载入这种文件

    require_once 'config.php';

    echo SYSTEM_NAME;

    require_once 'config.php';

    echo SYSTEM_NAME;

    =================================================================
    include:
    require 特点: 一旦被载入的文件不存在就会报一个致命错误,当前文件不再往下执行 -->
    include 特点: 载入文件不存在不会报错误(会有警告,警告不用管),当前文件继续执行 -->


    image.png
    image.png image.png

    相关文章

      网友评论

          本文标题:php01

          本文链接:https://www.haomeiwen.com/subject/mjqtoftx.html