PHP基础语法
一、基本用法
编码语言分类:
1、解释型:PHP、JavaScript、Python、VBScript……:几乎都是弱类型语言,执行速度较慢,通常用于各类快速开发场景,并非专业程序员专属。
2、编译型:C、C++、C#、Java、Go、Rust……..:几乎者是强类型评语,一旦完成编译,执行速度很快,通常用于专业程序设计场景。
1、代码块
PHP是运行于Web服务器中,主要用于网页的处理。
<?php
// 必须要使用<?php ?> 进行代码的包裹
?>
<!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>
<?php
// 可以在PHP的源文件中,直接写HTML代码
?>
</body>
</html>
2、注释
<?php
// 必须要使用<?php >进行代码的包裹,只能注释一行
/* 可以用于注释一行或者一个段落 */
?>
3、内容输出
<?php
// 必须要使用<?php >进行代码的包裹,只能注释一行
/* 可以用于注释一行或者一个段落 */
/**
* 在PHP中,可以通过两个函数往页面中输出注释:
* (1)echo:支持用逗号分隔多个字符进行拼接输出
* (2)print:不支持用逗号分隔多个字符进行拼接输出
* 注意:在PHP中,换行符\n无法被浏览器解析,<br>才能被浏览器解析
*/
echo "这是一个牛逼的网页. <br/>";
print "这又是一个更牛逼的网页.<br>";
echo "1111111111", "2222222222", "333333333<br>";
// print "1111111111", "2222222222", "333333333"; // print不能跟逗号分隔多个字符串
// 在PHP中,. 表示字符串连接符
echo "1111111111" . "2222222222" . "333333333<br/>";
print "1111111111" . "2222222222" . "333333333<br/>";
echo "你好,你的余额为:" . 20000 . "元";
?>
也可以在PHP中直接写HTML,或者用echo输出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>这是PHP页面</title>
</head>
<body>
<?php
// 可以在PHP的源文件中,直接写HTML代码
// echo "如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true";
echo "<div style='width: 300px; height: 200px; border: solid 2px red;'>" . `time /T` . "</div>";
?>
</body>
</html>
4、引号
/**
* 引号的问题:
* 1、双引号:里面可以包裹字符串和变量
* 2、单引号:单引号只能表示字符串,不能引用变量
* 3、反引号:用于执行操作系统命令并返回结果
*/
$addr = "四川成都";
echo "你当前所在城市为:$addr <br/>";
echo '你当前所在城市为:$addr <br/>';
echo `ipconfig`;
5、编码格式
/**
* 为什么执行ipconfig命令时,会在网页上输出乱码:是因为网页的编码是UTF-8,而操作系统的编码格式是GBK(中文编码)
* 1、使用PHP内置函数:header 往网页中写入GBK的响应头,让浏览器按照GBK的编码格式处理,
* 但是,此种方法会导致整个页面都会变成GBK的编码格式,而如果页面中其他位置的内容不是GBK,则会变成乱码
* 2、使用PHP内置函数:iconv 来对需要进行转码的文本进行编码格式的转换,不影响其他内容
*/
// header("content-type:text/html; charset='GBK'");
$result = `ipconfig`;
$result = iconv("GBK", "UTF-8", $result);
echo $result;
6、通信过程
二、变量
1、数据类型
String(字符串): "成都" "Hello"
Integer(整型):12345 -200
Float(浮点型):123.45 -12345.678
Boolean(布尔型): true false
Array(数组):一组数据的集合
Object(对象):
NULL(空值):
2、命名规范
变量以 $ 符号开始,后面跟着变量的名称
变量名必须以字母或者下划线字符开始
变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
变量名不能包含空格
变量名是区分大小写的($y 和 $Y 是两个不同的变量)
变量名不能用中文全拼,最好使用英文单词
变量名不能用无意义的简写,WB,XY,但是常规的简写是可以的,html, css, js, mp4
函数名必须使用动词或动名词形式
变量名或函数或等,首字母小写,如果有多个单词,第二单词的首字母建议大写:checkNumber, check_number
三、运算符
1、算术运算符
运算符 | 名称 | 描述 | 实例 | 结果 |
---|---|---|---|---|
x + y | 加 | x 和 y 的和 | 2 + 2 | 4 |
x - y | 减 | x 和 y 的差 | 5 - 2 | 3 |
x * y | 乘 | x 和 y 的积 | 5 * 2 | 10 |
x / y | 除 | x 和 y 的商 | 15 / 5 | 3 |
x % y | 模(除法的余数) | x 除以 y 的余数 | 5 % 2 10 % 8 10 % 2 | 1 2 0 |
- x | 取反 | x 取反 | x =2; echo -x | -2 |
a . b | 并置 | 连接两个字符串 | “Hi” . “Ha” | HiHa |
2、赋值运算符
运算符 | 等同于 | 描述 |
---|---|---|
x = y | x = y | 左操作数被设置为右侧表达式的值 |
x += y | x = x + y | 加 |
x -= y | x = x - y | 减 |
x *= y | x = x * y | 乘 |
x /= y | x = x / y | 除 |
x %= y | x = x % y | 模(除法的余数) |
a .= b | a = a . b | 连接两个字符串 |
3、自增自减运算符
运算符 | 名称 | 描述 |
---|---|---|
++ x | 预递增 | x 加 1,然后返回 x |
x ++ | 后递增 | 返回 x,然后 x 加 1 |
— x | 预递减 | x 减 1,然后返回 x |
x — | 后递减 | 返回 x,然后 x 减 1 |
4、比较运算符
运算符 | 名称 | 描述 | 实例 |
---|---|---|---|
x == y | 等于 | 如果 x 等于 y,则返回 true | 5==8 返回 false |
x === y | 绝对等于 | 如果 x 等于 y,且它们类型相同,则返回 true | 5===”5” 返回 false |
x != y | 不等于 | 如果 x 不等于 y,则返回 true | 5!=8 返回 true |
x <> y | 不等于 | 如果 x 不等于 y,则返回 true | 5<>8 返回 true |
x !== y | 绝对不等于 | 如果 x 不等于 y,或它们类型不相同,则返回 true | 5!==”5” 返回 true |
x > y | 大于 | 如果 x 大于 y,则返回 true | 5>8 返回 false |
x < y | 小于 | 如果 x 小于 y,则返回 true | 5<8 返回 true |
x >= y | 大于等于 | 如果 x 大于或者等于 y,则返回 true | 5>=8 返回 false |
x <= y | 小于等于 | 如果 x 小于或者等于 y,则返回 true | 5<=8 返回 true |
5、逻辑运算符
运算符 | 名称 | 描述 | 实例 |
---|---|---|---|
x and y | 与 | 如果 x 和 y 都为 true,则返回 true | x=6 y=3 (x < 10 and y > 1) 返回 true |
x or y | 或 | 如果 x 和 y 至少有一个为 true,则返回 true | x=6 y=3 (x6 or y5) 返回 true |
x xor y | 异或 | 如果 x 和 y 有且仅有一个为 true,则返回 true | x=6 y=3 (x6 xor y3) 返回 false |
x && y | 与 | 如果 x 和 y 都为 true,则返回 true | x=6 y=3 (x < 10 && y > 1) 返回 true |
x || y | 或 | 如果 x 和 y 至少有一个为 true,则返回 true | x=6 y=3 (x5 || y5) 返回 false |
! x | 非 | 如果 x 不为 true,则返回 true | x=6 y=3 !(x==y) 返回 true |
上一篇: Wordpress不
下一篇: react搭建在线编