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



原文地址:https://www.cnblogs.com/shanlu0000/p/11568551.html