# 常用函数

<?php
// 获取字符串长度
  echo strlen('gausszhou');
  // 9
  echo "\r\n";
  // 根据字符编码获取
  echo mb_strlen('gausszhou','utf8');
  // 9
  echo "\r\n";
  echo strlen(" gauss zhou ");
  // 12
  echo "\r\n";
  // 去除字符串首尾空格
  echo strlen(trim(" gauss zhou "));
  // 10
  echo "\r\n";
  // 前后截取
  $string = "gausszhou.top";
  echo trim($string,'gtop');
  // ausszhou.
  // rtrim ltrim 左截取 右截取
  echo "\r\n左截取";
  echo rtrim($string,'gtop');
  // gausszhou.
  echo "\r\n右截取";
  echo ltrim($string,'gtop');
  // ausszhou.top
  echo "\r\n";
  // strtolowser strtoupper 转小写 转大写
  $str1 = "GAUSSZHOU";
  echo strtolower($str1);
  // gausszhou

  // ucfirst 首字符大写
  // ucwords 每个单词首字母大写
  // md5 计算字符串的md5

  // explode 分割字符串为数组 split
  // implode 数组连接成字符串 join
  $array = array('lastname', 'email', 'phone');
  $comma_separated = implode(",", $array);
  echo "\r\n";
  echo $comma_separated;
  // lastname,email,phone

  // substr 返回字符串的字串
  // substr(string,start,count) // mb_substr(string,start,count)
  echo "\r\n";
  echo substr('helloworld',5);
  // world [5-结尾]
  echo "\r\n";
  echo mb_substr('helloworld',5,5,'utf8');
  // world [5-10]


  $num = 1234;
  $type = gettype($num);
  echo "\r\n";
  var_dump($type);
  // string(7) "integer"
  $var = true;
  $bool = is_bool($var);
  var_dump($bool);
  // bool(true)
?>

# 类型转换 (弱类型)

自动转换

强制转换 settype

<?php
// 数据类型转换
$num1 = '1';
$num2 = '2';
echo $num1 + $num2; # 字符串转为数字相加
// 3

// 强制转换
$var = '123';

settype($var,'integer');
echo "\r\n";
var_dump($var); // 就会变成int类型
// int(123)
?>

# 常量

常量默认时大小写敏感的,但我们通常总是用大写来标明 常量特性:

  • 常量前面没有美元符号
  • 常量只能用 define()函数来定义
  • 常量一旦定义就不能重新定义或取消定义
  • 常量可以在任意位置访问,不用理会变量范围
<?php
define( 'WNAME' , "gausszhou");
echo WNAME;
?>

# 运算符号

四则运算就直接跳过了

字符串运算符

<?php
  $a = "gauss";
  $b  = "zhou";
  echo $a.$b;
  // gausszhou
  echo "\r\n";
  $a.=$b;
  // 相当于 $a = $a.$b
  echo $a;
  // gausszhou
  echo "\r\n";
  echo $b;
  // zhou
?>

逻辑运算符

<?php
// 逻辑运算
$c = 1;
$d = 0;
// 逻辑与
echo $c and $d;
echo $c && $d;
// FALSE 无打印

// 逻辑或
echo "\r\n";
echo $c or $d;
echo "\r\n";
echo $c || $d;
// 1

// 逻辑非
echo "\r\n";
echo !$d;
// 1
?>

# 三元表达式

a ? b : ca ?? b 后者会多判断一次 isset()

<?php
  // 三元表达式
  echo true ? "gauss":"zhou";
  echo "\r\n";
  // gauss
  echo false ? "gauss":"zhou";
  // zhou
  echo "\r\n";
  $flag = 0;
  echo "\r\n";
  // a ?? b ;
  // a 为真输出a
  // a 为假输出 b
  echo  true ??"gausszhou";
  // 1
?>

# 流程控制

<?php
// if else
if(true){
  echo "gauss";
}else{
  echo "zhou";
}
// gauss
echo "\r\n";
// if elseif else
$a = 7;
if( $a >10){
  echo "www.";
}elseif($a >5){
  echo "gausszhou" ;
}else{
  echo ".top";
}
// gausszhou
echo "\r\n";

$status = 'success';
switch ($status) {
  case 'success':
      echo '成功';
      break;
  case 'error':
      echo '错误';
      break;
  case 'warning':
      echo '警告';
      break;
  }
// 成功

// while 循环
$num = 10;

echo "\r\n";
while ($num>0){
  echo $num--;
}
// 10987654321

// do while 循环
echo "\r\n";
$num2 = 10;
do {
  echo $num2--;
}while ($num2>0);

// 10987654321

echo "\r\n";

// for 循环

for ($num3=10; $num3>0; $num3--){
  echo $num3;
}
// 10987654321


// break
echo "\r\n";
// continue
echo "\r\n";

?>

# 文件引入

test.php

<?php
  echo "hi i am test.php"
?>
<?php
// 文件引入
// 可以使用include和require
// 当引入产生错误时,include 产生一个警告warnning
// 而require会爆出一个致命错误Fatal error 终止程序执行
// require "dontexist.php";

include "./test.php";

echo "\r\n";
echo "test";
// hi i am test.php
// test

echo "\r\n";

if(!@include 'a.php'){
  echo "a.php 文件不存在";
}
// a.php 文件不存在

// include_once require_once


?>

# 日期操作

  • date_default_timezone_get()取得当前使用时区
  • date_default_timezone_set()设定当前使用时区

UNIX 时间戳 PHP 的时间戳开始于 1970 年 1 月 1 日零点,默认为 10 位整数数值。

<?php

// 设置和获取时区
echo date_default_timezone_set('PRC');
// 1
echo "\r\n";
echo date_default_timezone_get();
// PRC



// 获取日期时间 date()
echo "\r\n";
// PRC 中华人民共和国
echo date('y-m-d H:i:s');
// 21-03-11 15:28:26
echo "\r\n";
// 传入第二个参数来处理时间比如100天前
echo date('Y-m-d', time()-3600*24*100);
// 2020-12-01

// 获取时间戳
echo "\r\n";
echo time();
// 1615447789

echo "\r\n";
list($usec, $sec) = explode(" ", microtime());
echo $sec;
echo "\r\n";
echo $usec;
// 1615447901
// 0.66114300
?>

# 数学方法


<?php

// 基本数学方法,大同小异

echo ceil(10.55);
echo "\r\n";
// 向上取整 11
echo floor(10.45);
echo "\r\n";
// 向下取整 10
echo round(10.50);
echo "\r\n";
// 四舍五入 11

// min and max
echo min(1,2,46,67,34657,4357,46);
echo "\r\n";
// 1
echo max(1,2,46,67,34657,4357,46);
echo "\r\n";
// 34567


// 随机数
echo mt_rand(1,100);
echo "\r\n";
// 59
?>

# 函数编程

function functionName (parameter1,parameter2,...){
  // 程序块代码内容
  return ;
}

function_exists()检查函数是否定义

<?php
function fn1(){
  return 'hello';
}
var_dump(function_exists('fn1'));
// bool(true);

?>