zoukankan      html  css  js  c++  java
  • PHP--API

    PHP所有能力都是函数,内置1000多个函数,不是每一个函数都默认直接可以使用,有一些需要安装或者启用额外的“插件”扩展。

    1,获取字符串长度

    <?php
    $str='hello';
    echo strlen($str);  //5

    2,获取中文字符串(宽字符)的长度

      strlen 只能获取拉丁文的长度

      php中专门为宽字符集添加了一套API,所有的API 都是 mb_xxxx

    echo mb_strlen('你好');

          但是报错:Fatal error: Uncaught Error: Call to undefined function mb_strlen() in              D:wwwsite22, string.php:7 Stack trace: #0 {main} thrown in D:wwwsite22, string.php on line 7

          这是因为这一套 API 不在内置的 1000+ 里面,而是在一个模块(php_mbstring.dll)中,模块成员必须通过配置文件载入模块过后再使用

       配置PHP扩展的步骤

      1,在PHP的安装目录去创建一个 php.ini ( 将PHP目录中的 php.ini-development 复制一个      修改为 php.ini )

      2, 修改扩展文件所在目录 extension_dir 

      3,;extension=php  mbstring.dll  ,去掉注释( 修改文件中的部分选项      ; 是注释符)

      4,默认Apache加载的php.ini 是去 C: Windows目录找的

      5,可以通过Apache的配置文件修改默认加载路径 PHPIniDir

    3,常见字符串API

    ①字符串截取

    第一个参数:被截取的字符串

    第二个参数:从哪个位置开始截

    第三个参数:截取的字符个数

    ②字符串长度

    ③大小写转换

    strtolower:大写转小写

    strtoupper:小写转大写

    ④去除首尾空白字符

    ⑤查找字符串中某些字符首次出现位置

    ⑥字符串替换

      用 b 替换 a

    ⑦重复字符串

    第一个参数:重复的字符串

    第二个参数:重复多少次

    ⑧字符串分割

    4,数组处理

    php中的数组类型:索引数组、关联数组

    php中定义数组的方式:array( )  、 [ ] (php 5.4+)

    ①获取关联数组中全部的键/值

      arrar_keys()   array_values()

    <?php
    $arr=array(
        'hello' => '你好',
        'pink' => '粉色',
        'blue' => '蓝色',
    );
    var_dump(arrray_key($arr));   //['hello','pink','blue'];
    var_dump(array_values($arr)); //['你好','粉色','蓝色'];

    ②判断数组中是否存在某个键

      array_key_exists()

    <?php
    $arr=array(
        'hello' => '你好',
        'pink' => '粉色',
        'blue' => '蓝色',
    );
    var_dump(array_key_exists('hello',$arr));  //bool(true)
    var_dump(array_key_exists('world',$arr));  //bool(false)

      isset也可判断数组中是否有指定的键

    <?php
    $arr=array(
        'hello' => '你好',
        'pink' => '粉色',
        'blue' => '蓝色',
    );
    
    if(isset($arr['hello'])){
        echo $arr['hello'];  //你好
    }
    else{
        echo '没有';
    }

      empty与isset相反,  empty($arr['foo'])  相当于   ! isset ( $arr [ 'foo' ] ) || $arr['foo'] == false

    <?php
    $arr=array(
        'hello' => '你好',
        'pink' => '粉色',
        'blue' => '蓝色',
    );
    
    if(empty($arr['foo'])){
        echo '没有';
    }
    else{
        echo $arr['foo'];
    }

     ③去除重复的元素

      array_unique()

    ④将一个或多个元素追加到数组中

      array_push()

      $arr[ ] = 'new value'

    $arr=Array('red' , 'orange' , 'yellow');
    array_push($arr,'blue');
    var_dump($arr);
    $arr=Array('red' , 'orange' , 'yellow');
    $arr[]='black';
    var_dump($arr);

    ⑤删除数组中最后一个元素

      array_pop();

    $arr=Array('red' , 'orange' , 'yellow');
    array_pop($arr);
    var_dump($arr);

    ⑥数组长度

      count()

    $arr=Array('red' , 'orange' , 'yellow');
    var_dump(count($arr));

    ⑦检测存在

      in_array()

    $arr=Array('red' , 'orange' , 'yellow');
    var_dump(in_array('red',$arr));   //true

    5,时间处理

      ①时间戳:time()

        从 Unix纪元(格林威治时间 1970-01-01 00:00:00)到当前时间的毫秒数

    <?php
        echo time(); //1569216880

      ②格式化日期:date()

      格式化一个时间戳:

    echo date('Y-m-d H:i:s', time());  //=date('Y-m-d H:i:s');

      第一个参数:一个时间格式

      第二个参数:一个时间戳,默认时间戳获取的就是格林威治时间

      问题:获取到的时间与当前时间相差8个小时

      解决:方式一,通过代码设置时区,更推荐这种方式   date_default_timezone_set('PRC');

         方式二:通过配置文件设置时区   date.timezone = PRC

         对已有事件做格式化:

      strtotime() 可以用来将一个有格式的时间字符串转换为一个时间戳

    <?php
    date_default_timezone_set('PRC');
    $time='2019-09-23 11:34:58';
    
    echo date('Y年m月d日 H:i:s',strtotime($time));  //2019年09月23日 11:34:58
    
    echo date('Y年m月d日<b
    >H:i:s',strtotime($time));  // 2019年09月23日
                                                                                    11:34:58
    
    echo date("Y年m月d日<b
    >H:i:s",strtotime($time));  //2019年09月23日11:34:58
                         

        注意:单引号字符串的问题

        单引号:是对date函数的处理,单引号中的<b >可以换行

        双引号:是对字符串的处理,<b >不能换行

    ⑥PPH中的常量

         ①PHP 中可以通过 define 函数定义 一个常量

         ②常量的特点就是:定义后不能被修改,也是临时存放数据的容器

         ③ 什么时候用常量:一般程序的配置信息(不会在运行过程中修改)都会在常量中定义 

              ④PHP中的常量的命名规则

        变量或函数都是采用 snake_case (小写字母加下划线)命名规则
    常量是 SNAKE_CASE 命名规则
    define('SYSTEM_NAME', '阿里百秀');
    echo SYSTEM_NAME;  // 阿里百秀
    
    define('SYSTEM_VERSION', '阿里', true);
    echo SYSTEM_VERSION;  //阿里
    echo system_version;  //阿里
        第一个参数常量名称
       第二个是常量的值
    第三个参数是常量名称是否忽略大小写 默认为false 不忽略

    6,载入其他文件
      PHP中引入其他PHP文件有四种方式:
      require
      require_once
      include
      include_once
      

      config.php(定义公共的配置信息)
           1. 便于维护
           2. 公共使用

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

        require.php

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

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

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

    aside.php

    <aside>
      这是侧边栏1111
    </aside>

    include.php

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
      <?php include 'aside.php'; ?>
      <main>
        这是主要的区域
      </main>
    </body>
    </html>

    require:一旦被载入的文件不存在就会报一个致命错误,当前文件不再往下执行  (不会任何输出)

    include:载入文件不存在不会报错误(会有警告,警告不用管),当前文件继续执行 (打印出 “只是主要区域”)



  • 相关阅读:
    Java--NIO(一)
    Jackson
    SpringBoot整合Redis作为缓存
    RabbitMq学习笔记——配置
    RabbitMq学习笔记——概念
    利用gsoap工具,通过wsdl文件生成webservice的C++工程文件
    QThreadPool&QRunnable&类函数的使用
    C++构造函数初始化列表与构造函数中的赋值的区别
    Qt 4.8.2.+VS2008静态编译
    Qt开发的程序在没有安装Qt环境的机器上可能出现的一些问题
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/11568551.html
Copyright © 2011-2022 走看看