# 常用函数
<?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 : c
和 a ?? 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);
?>