php 学习记录
开始学习 php 了, 为了以后的代码审计, 还想进军 web的
环境搭建
phpstudy , 一键部署, 舒服。
注意: 安装路径 不要带有 中文名,
数据库默认账户
root:root
简单程序
<?php
echo "这是一个简单的 php 程序";
?>
需要使用 来包含代码, php 代码可以在 .php 结尾的文件里,也可以在 .html 文件里
注释, 使用 和 c/c++ 一样的语法格式 单行 // 多行/* */
每一条语句, 都必须使用 ; 来结尾
打印输出
echo 和 print 区别:
echo - 可以输出一个或多个字符串
print - 只允许输出一个字符串,返回值总为 1
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
<?php
echo "print 和 echo<br>";
$text = "m1n9yu3";
print $text;
print "我的名字是: $text ";
echo "<br>";
echo $text, 'fdsafdsf','dsafdsf';
?>
php 数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
可以使用 var_dump(obj) 函数, 来打印 对象的类型
<?php
// string 类型
$text = '我是一个文本类型的数据';
// 整数类型
$Int = 10;
// 浮点类型
$Float = 8.888;
// 布尔类型
$Bool = true;
// 数组类型
$Array = array('1','2','3');
// 类对象
class Car
{
var $color;
function __construct($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
// NULL 值, 可以清空一个数据的指向
$Null = null;
var_dump($Int)
?>
基础语法
包含 类型比较, 循环,分支, 运算符,常量,字符串
类型比较
== : 只比较值, 不比较类型
===: 比较值,也比较类型
<?php
$a = '1';
$b = 1;
$c = $a === $b;
echo $a == $b;
echo "<br>";
echo $c;
?>
正确,就显示,不正确就不显示
常量
语法
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )`
<?php
// 区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com");
echo GREETING; // 输出 "欢迎访问 Runoob.com"
echo '<br>';
echo greeting; // 输出 "greeting"
?>
常量是全局的
字符串
字符串变量
<?php
$text = "hello world";
echo $text;
?>
字符串运算符只有一个 . 称为 并置运算符
用于把两个字符串值连接起来
<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>
常用函数
strlen(string_obj) 字符串长度 (字节数)
strpos(string_obj) 用于在字符串内查找一个字符或一段指定的文本, 匹配到,返回第一个匹配到的位置, 匹配不到,返回 false;
运算符
数值运算符
+ 加
- 减
* 乘
/ 除
% 取模
- 取反
. 并置
赋值运算符
= 赋值, 可以使用 += -= *= 之类的 复合运算符
自增自减
++ -- , 语法和 c一致
比较运算符
== 等于
=== 绝对等于
!= 不等于
<> 不等于
!== 绝对不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
逻辑运算符
and 与
or 或
xoe 异或
&& 与
|| 或
! 非
数组运算符
+ 集合
== 相等
=== 恒等
!= 不相等
<> 不相等
!== 不恒等
分支
if else 语句
if (条件)
{
条件成立时要执行的代码;
}
if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
switch 语句
<?php
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>
循环
while 循环
while (条件)
{
要执行的代码;
}
do
{
要执行的代码;
}
while (条件)
for 循环
for (初始值; 条件; 增量)
{
要执行的代码;
}
foreach 用于遍历数组
foreach ($array as $value)
{
要执行代码;
}
函数
函数 编程, 可以减少代码量
<?php
function functionName()
{
// 要执行的代码
}
?>
函数是可以通过调用函数来执行的。
可以在页面的任何位置调用函数
php 函数准则
- 函数的名称应该提示出它的功能
- 函数名称以字母或下划线开头(不能以数字开头)
简单示例
<?php
function writeName()
{
echo "Kai Jim Refsnes";
}
echo "My name is ";
writeName();
?>
课后练习
写一个 简单的登录处理程序, 可以处理登录事件。
占坑, 还在问大师傅。
问完回来了
<!DOCTYPE html>
<html>
<head>
<title>login the page</title>
</head>
<body>
<center>
<form action="http://localhost/login/login.php" method="get">
<input type="text" name="user">
<br>
<input type="text" name="passwd">
<br>
<input type="submit" name="submit" value="登录">
</form>
</center>
</body>
</html>
<?php
$user = $_GET['user'];
$passwd = $_GET['passwd'];
// echo "user: ",$user;
// echo '<br>';
// echo "passwd: ",$passwd;
if ($user === "admin" and $passwd === 'passwd'){
echo "<h1> 通过验证, 登录成功!!!</h1>";
}else{
echo "<h1> 登录失败 </h1>";
}
?>
当密码是 passwd, 用户名是 user 的时候, 才算是成功登录