1、使用运算符
加号 减号 和 *
在运算符 左右2边,增加一个空格 看起来会更清晰
$num = 100;
echo 100 - $num;
echo'<hr>';
echo 100 + $num;
echo'<hr>';
//输出:0和100
echo 100 * 0.8 - 10;
//输出:70
% 数字除以数字,如果除不尽,会得到余数
echo 10 / 3;
echo '<hr>';
echo 10 % 3;
//输出:3.3333333333333和1
// 10除以3,3*3=9,还剩1, 这个余数,就是除以后,除不了,剩下的。
// ++ --
$num = 100;
echo $num++;
echo'<hr>';
echo $num;
echo $num;
//输出:100和101
// ++ 的作用是,把数字自动+1,第一次为什么输出的是100呢,因为它是先输出,后加
// 第二次输出,就是加了1的数字了
// echo $num--;
// echo '<hr>';
// echo $num;
// 先加1,只要把++写到前面
// 先减1,只要把--写到前面
echo ++$num;
echo'<hr>';
echo --$num;
++$sum输出:101
--$sum输出:99
// . 连接
// 变量和数字 相连,必须中间有空格
// 可以连接字符串、数字、html代码,变量
echo $num . 1;
//输出:$1001
2、使用赋值运算符
// = 赋值运算符
// $num = 99;
// += -= *= /= %= .= 有7个
// $num = $num + 100;
// echo $num;
// 输出:199
// ==========================上面2个示例是相等的
$num += 100;
echo $num;
// 输出:199
$num .= '块钱';
echo $num;
// 输出:99块钱
强制类型转换
$num = 100;
var_dump($num);
// 输出:int(100)
// ()里有关键词
// var_dump ( (string)$num );
// 输出:string(3)"100"
// echo $num - '20';
// 输出:80
3、使用字符串函数
string 字符串
float 浮点型
// var_dump ( (float)$num );
// 输出:float(100)
// bool 布尔值
// var_dump ( (bool)$num );测试真假
// array 数组
// 改object 对象
// $str = 'song';
// $str += $num;
// echo $str;
// echo '<hr>';
// 字符串开头是数字,可以跟数字相加,但是会报错
// 如果字符串里没有数字,或者数字不在开头,都会报错
// $str = '100song';
// $str = 'so100ng';
// $str += $num;
// echo $str;
// echo print_r var_dump 会常用这些命令打印数据出来,进行调试
// 字符串 加 布尔,会报错
// $str = 'song';
// echo $str + true;
// echo $str + 'miejue';
// 字符串和字符串只能用连接号
// 转换完类型,是数字的话,就可以相加
// $str = 'ouyang200ke';
// echo (int)$str + 100;
// . 连接 js的话, + 是连接也是加
获取字符串其中的字符
$str = 'song';
echo $str;
echo $str[2];
//输出:获取第三个字母n
// 把第二个改为了q
$str[2] = 'q';
echo $str;
//输出:把第三个字母n改为了q
// 一个汉字 等于 3个字节,3个字母
$name = '欧阳克';
echo $name[0] . $name[1] . $name[2];
//输出:欧
5、函数
// 把代码放到一个功能块,把重复的代码,放在一个代码块中。做为函数
// 函数是一个 全局变量,可以在代码的任何位置都能使用
// 函数分为2类:
// 系统函数:print_r var_dump,带括号的命令,就是函数
// 自定义函数:用户根据自身的需求,写出代码块,做为函数,对项目功能进行扩展
// 删除变量
$name = '六脉神剑';
unset($name);
echo $name;
strtoupper字符串函数
// 把全部的字符串转换为大写
// 函数返回值是有的,但是需要咱们自己输出
// 它只会把结果给程序,不输出
$name = 'ouyangke';
//输出:OUYANGKE
// 如果它的作用,不能把你的数据改变,就没有作用
// 函数有特定的功能。不可能把所有功能都包含
$name = '欧阳克';
// 输出汉字没有改变
echo strtoupper($name);
strtolower 把字符串里的大写,转换为小写
echo strtolower('MIEJUE师太');
获取字符串长度
echo strlen('zhulaoshi');
echo strlen('朱');
// php系统函数,数量达到 1000以上
// 10.trim 去除字符串2边的空白
echo ' ouyangke ';
echo '<hr>';
// 账户、密码、表单提交数据的时候
// 可以选择去掉左边或者右边
//echo ltrim(' miejue');去掉左边
// echo rtrim('ouyangke ');去掉右边
自定义函数
// 函数名要有,名字的要求跟变量一样
// 最主要的函数,需要一个关键词,跟foreach循环
// 1.关键词是 function(方法),2.函数名 3.() 4.{}
// {} 里面是代码块,既然是代码块,就可以像foreach一样,写任何代码都行
function php(){
$data = [
];
foreach($data as $v){
}
echo 1; //函数是需要调用的,php();
}
function php(){
echo 'php中文网';
}
// 在方法里使用echo是可以的,但是不允许这样做
php();
// 5.函数 要使用return 进行最后的返回
function php(){
return 'php中文网';
// 使用完以后,下面的代码就不在执行了
echo 1;
}
echo php();
// 函数名,不区分大小写
// 尽可能用小写
function php_cn(){
return 'php中文网';
}
echo php_cn();
function php_cn(){
// 返回多个值,可以用数组
return [
'铁面狮',
'降龙十八掌',
'如来神掌'
];
// 相当于把strlen 给起个外号
return strlen('phpcn');
// 获取php_cn长度
return 100;
return true;
// 布尔值
return 'php中文网';
}
echo php_cn();
// echo strlen('phpcn');
print_r(php_cn());
// 手册上 是有函数的使用方法的,还有返回值,你要知道它的返回值是什么
// 传值,在方法的()里接收传值
function php_cn($str){
return strlen($str);
}
// 函数 是别人写好的, p0[yghbi9我们尽可能不要去改。别人已经用了100次函数,然后你给改了代码,那别人100个地方都会出错
echo php_cn('shengongbao');
//除了传一个值,还可以传多个值
function jia($num1,$num2,$num3){
return $num1 + $num2 + $num3;
}
// 如果函数要求传值,那使用函数的时候,那就必须传值
// 多个传值,直接要用 英文逗号, 隔开
echo jia(10,20,30);
//输出:60
// 不想传值,怎么办,没办法,必须看函数的要求
// 所以函数为了满足,给参数可以添加 默认值
// 给了默认值就不用传值
function jia($num1,$num2=20,$num3=30){
return $num1 + $num2 + $num3;
}
echo jia(30);
//输出:80
6、自定义函数(动态表格),添加样式
创建html代码拿来传值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
//<? echo table($arr,$head);?>传值
</body>
</html>
$arr = [
[
'name' => '白骨精',
'age' => '80岁',
'gongfu' => '金阴白骨爪',
'sex' => '女'
],
[
'name' => '红孩儿',
'age' => '18岁',
'gongfu' => '三味真火',
'sex' => '男'
],
[
'name' => '牛魔王',
'age' => '40岁',
'gongfu' => '七十二变',
'sex' => '男'
],
[
'name' => '铁扇公主',
'age' => '38岁',
'gongfu' => '芭蕉扇',
'sex' => '女'
],
[
'name' => '金角',
'age' => '28岁',
'gongfu' => '七星剑',
'sex' => '男'
]
];
function 不认外面的变量,你必须传值进来
方法不知道有多少个头部,我们只能找你要数据
$head = [
'姓名',
'学校',
'功夫',
'性别'
];
// 传值 还可以固定数据类型
// 用类型,强制使用者,必须传对应的类型数据
function table(array $arr,$head,int $width=300){
$table = '<table border="1";>';
$table .= '<thead>';
$table .= ' <tr>';
foreach($head as $head_k=>$head_v){
$table .= ' <th width="'.$width.'">'. $head_v .'</th>';
}
$table .= ' </tr>';
$table .= ' </thead>';
$table .= ' <tbody>';
foreach($arr as $k => $v){
$table .= ' <tr>';
foreach($v as $kk => $vv){
// 二次循环$kk => $vv
// 二维数组,我们可以用二次循环,对它进行循环数据
// 可以不使用下标
// 不使用下标,缺点是 数据顺序。
// 不过从数据库中读取的数据,顺序是一样的
$table .= ' <td>'.$vv.'</td>';
$table .= ' </tr>';
}
$table .= '</tbody>';
$table .= '</table>';
return $table;
}
}
输出: