阅读量: 22
PHP基本语法与字符串
一、基本结构
HTML、CSS、JS及图片等会被服务器 原样发送给客户端,渲染工作由客户端浏览器完成。然而PHP会被服务器先通过脚本引擎处理后再将处理结果发送给客户端。
1.代码块
-
PHP运行于服务器中,主要用于网页的处理
将代码包裹
?>
Document
2.注释
3. 输入输出
<?php
/**
* 在php中,可以通过两个函数网页面中输出内容:
* (1)echo:支持用逗号分隔多个字符进行拼接输出
* (2)print:不支持用逗号分隔多个字符进行拼接输出
* PHP中,换行符\n无法被浏览器解析,<br/>
*/
echo "hello world.<br/>";
print "hello too. <br>";
echo "111","222","333<br/>";
//在PHP中,.号表示字符串连接符
echo "111"."222"."333<br>";
print "111"."222"."333<br>";
?>
4.引号
-
双引号里面可以包裹字符串和变量
-
单引号只能表示字符串,不能引用变量
-
反引号用于执行操作系统命令并返回结果
$addr=beijing
echo "当前城市为:$addr
";
echo '当前城市为:$addr
';
echo ipconfig
;
//由于网页编码是UTF-8,而操作系统编码格式为GBK,所以ipconfig返回显示的结果是乱码
//使用PHP内置函数:iconv来对需要进行转码的文本进行编码格式的转换,不影响其他内容
$result = ipconfig
;
$result = iconv("GBK,"UTF-8",$result);
echo $result;
二、变量
1.数据类型
- String(字符串):“hello”
- Integer(整型):123 -299
- Float(浮点型): 123.44
- Boolean(布尔型): true false
- Array(数组): 一组数据的集合
- Object(对象):
- NULL(空值)
2.命令规范
- 以$符号开始,后面跟着变量的名称
- 必须以字母或者下划线字符开始
- 只能包含字母、数字以及下划线
- 不能包含空格
- 区分大小写
- 建议不用中文全拼,最好使用英文单词
- 建议不用无意义的简写
- 建议函数名使用动词或者动名词形式
三、运算符
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 的相反符号 |
<?php $x = 2; echo -$x; ?> |
-2 |
~x |
取反 |
x 取反,按二进制位进行"取反"运算。运算规则:~1=-2; ~0=-1; |
<?php $x = 2; echo ~$x; ?> |
-3 |
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 (x\==6 or y==5) 返回 true |
x xor y |
异或 |
如果 x 和 y 有且仅有一个为 true,则返回 true |
x=6 y=3 (x\==6 xor y==3) 返回 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 (x\==5 || y==5) 返回 false |
! x |
非 |
如果 x 不为 true,则返回 true |
x=6 y=3 !(x==y) 返回 true |
6.数组运算符
运算符 |
名称 |
描述 |
x + y |
集合 |
x 和 y 的集合 |
x == y |
相等 |
如果 x 和 y 具有相同的键/值对,则返回 true |
x === y |
恒等 |
如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true |
x != y |
不相等 |
如果 x 不等于 y,则返回 true |
x <> y |
不相等 |
如果 x 不等于 y,则返回 true |
x !== y |
不恒等 |
如果 x 不等于 y,则返回 true |
四、分支语句
- if 语句 - 在条件成立时执行代码
- if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
- if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
- switch 语句 - 在若干条件之一成立时执行一个代码块
1.if
<?php
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
?>
2.if……else
<?php
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>
3.if……elseif……else
<?php
$t=date("H");
if ($t<"10")
{
echo "Have a good morning!";
}
elseif ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>
4.switch
<?php
switch (expression) {
case value1:
// 代码块1
break;
case value2:
// 代码块2
break;
// 更多的 case 语句
default:
// 如果没有匹配的值
}
?>
五、循环语句
- while - 只要指定的条件成立,则循环执行代码块
- do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
- for - 循环执行代码块指定的次数
- foreach - 根据数组中每个元素来循环代码块
1.while
<html>
<body>
<?php
$i=1;
while($i<=5)
{
echo "The number is " . $i . "<br>";
$i++;
}
?>
</body>
</html>
2.do……while
<html>
<body>
<?php
$i=1;
do
{
$i++;
echo "The number is " . $i . "<br>";
}
while ($i<=5);
?>
</body>
</html>
3.for
<?php
for ($i=1; $i<=5; $i++)
{
echo "数字为 " . $i . PHP_EOL;
}
?>
4.foreach
<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{
echo $value . PHP_EOL;
}
?>
<?php
$x=array(1=>"Google", 2=>"Runoob", 3=>"Taobao");
foreach ($x as $key => $value)
{
echo "key 为 " . $key . ",对应的 value 为 ". $value . PHP_EOL;
}
?>
六、函数
- 函数名;函数名不能重复,名称可读性强,最好是动词或者动名词
- 参数:形参和实参
- 函数由处理过程、函数体
- 函数可以由返回这也可以没有
- 函数只有定义不调用,代码不会执行
<?php
function add($x,$y)
{
$total=$x+$y;
return $total;
}
echo "1 + 16 = " . add(1,16);
?>
七、数组
1.作用
- 将一组数据用统一的结构来保存和使用,对于一组数据来说如果不用数组则必须定义多个变量
2.定义
$students = array('zhangsan','lisi','wangwu');
3.使用
-
取长度
$len = count($students);
-
取值
echo $students[0];
-
修改
$students[2] = "王五";
-
打印
print_r($students);
-
删除
array_pop($students);
4.索引数组
5.关联数组
- 以key=>value组成的键值对,取值的时候用key来取值,而不是下标
- 索引数组的key就是0、1、2、3