php笔记

php笔记

PHP基本格式

<?php
echo "Hello";
?>

但在CTF中经常不写最后?> php每条语句用;结尾


变量$

php变量前面必须有$

$name = "Clairis";
$age = 18;

常见数据类型

字符串

$a = "hello";
$b = "Clairis";

整数

$a = 123;

浮点数

$a = 12.03;

布尔值

$a = true;
$b = false;

数组

$a = array("Clairis","user");
$a = ["Clairis","users"];

# 访问
echo $a[0];

输出echo

 $name = "Clairis";
 echo $name;
echo "hello","Clairis";

字符串拼接.

php的字符串拼接不用+而是.

$a = "hello";
$b = "Clairis";
echo $a . $b;

#输出“helloClairis"

isset():变量存在

if(isset($_GET['name'])){
	echo $_GET['name'];
}

如果GET参数name存在,就输出name的值


if(!isset($_GET['user']){
	exit;
}

如果没有传user参数,直接结束程序


if/else

#多个条件
if($a == 1 && $b == 2){
	echo "success";
}

&& 并且 || 或者


==和===

$a == $b

弱比较

PHP可能自动转换数据类型 比如: “1” == 1 返回true;因为PHP会进行类型转换


$a === $b

强比较

不仅值必须一样,类型也必须一样

比如: “1” === 1
返回false


strcmp()

用于比较字符串

strcmp("abc","abc")
# 相等时返回0

empty(

判断一个变量是不是“空”

if(empty($_GET['name'])){
	echo "empty"
}

下面很多值都会被PHP认为是空

""
0 
"0" 
NULL 
false 
[]

strlen()

计算字符串长度 strlen(“admin”); 返回5

is(strlen($_GET['password'])>10){
	exit();
}

password长度大于10就结束


strpos()

查找字符串的位置

strpos("hello world","world");

返回world出现的位置


if(strops($file,"../")!=false){
	die("hacker");
}

如果文件名里面出现../,就拦截

Comments

评论区