isset()
// 存在返回真,否则为假
<?php
$aaa = "yangkang";
$bbb = null;
isset($aaa);
isset($bbb);
?>
unset()
// 断开变量名和数据之间的引用关系
<?php
$aaa = "yangkang";
unset($aaa);
echo $aaa;
?>
命名
// 驼峰
myName
// 帕斯达
MyName
// 下划线
my_name
引用传递
<?php
$aaa = 111;
$bbb = &$aaa;
$bbb++;
echo $aaa;// 112
?>
<?php
$aaa = 111;
$bbb = &$aaa;
unset($bbb);
echo $aaa;// 并不受影响
?>
可变变量
<?php
$aaa = 111;
$bbb = "aaa";
$ccc = $$bbb;
echo $ccc;
?>
超全局变量
// 函数内外皆可使用,超全局变量都是数组
$_GET
$_POST
$_SERVER
$_REQUEST
$GLOBALS
$_COOKIE
$_SESSION
GET提交数据的几种形式
name
<form action="get.php" method="get">
用户名:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
<input type="submit" value="提交">
</form>
get.php
<?php
$username = $_GET["username"];
$password = $_GET['password'];
echo "username:".$username."<br/>password:".$password;
?>
a
<a href="get.php?username=aaayang&password=123456">提交</a>
location.href
<script>
location.href = "get.php?username=aaayang&password=123456";
</script>
location.assign
<script>
location.assign("get.php?username=aaayang&password=123456");
</script>
checkbox提交数据时注意
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="get.php">
<input type="checkbox" name="hobby[]" value="zuqiu">zuqiu
<input type="checkbox" name="hobby[]" value="lanqiu">lanqiu
<input type="checkbox" name="hobby[]" value="yumaoqiu">yumaoqiu
<input type="submit" value="提交">
</form>
</body>
</html>
<?php
$hobby = $_GET["hobby"];
var_dump($hobby);
var_dump($_GET);
?>
$_POST
网页中的form表单,一般都用post方式,get方式主要体现在其他3种形式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="get.php" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
post.php
<?php
$username = $_POST["username"];
$password = $_POST["password"];
echo $username."<br/>";
echo $password;
?>
加减乘除
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="post.php" method="post">
<input type="text" name="val1">
<select name="symbol" id="">
<option value="+">+</option>
<option value="-">-</option>
<option value="x">x</option>
<option value="/">/</option>
</select>
<input type="text" name="val2">
<input type="submit" value="提交">
</form>
</body>
</html>
post.php
<?php
if($_POST) {// 防止直接进入当前页面报错
$val1 = $_POST['val1'];
$val2 = $_POST['val2'];
$symbol = $_POST['symbol'];
if(is_numeric($val1) && is_numeric($val2)) {// 判断是否为数字
switch ($symbol) {
case '+':
$result = $val1 + $val2;
break;
case '-':
$result = $val1 - $val2;
break;
case '*':
$result = $val1 * $val2;
break;
case '/':
$result = $val1 / $val2;
break;
}
echo $result;
}
else{
echo "请输入正常的痒马号";
}
}
else {
echo "请以正确的姿势进入...";
}
?>
$_REQUEST
GET和POST数据同时提交的情景
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="request.php?a=5&b=10" method="post">
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
<input type="submit" value="提交">
</form>
</body>
</html>
<?php
// $a = $_GET['a'];
// $b = $_GET['b'];
// $username = $_POST['username'];
// $password = $_POST['password'];
$a = $_REQUEST['a'];
$b = $_REQUEST['b'];
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
echo $a."<br/>";
echo $b."<br/>";
echo $username."<br/>";
echo $password;
?>
当get数据和post数据同时提交并其中有重名的时候,此时$_REQUEST只会记录(存储)其中一个数据,是有php.ini中的一个设置项来决定request_order = “GP”,先存储GET数据,再存储POST
$_SERVER
<?php
echo "<table border='1'>";
foreach ($_SERVER as $key => $value) {
echo "<tr>";
echo "<td>$key</td>";
echo "<td>$value</td>";
echo "</td>";
}
echo "</table>";
?>
$GLOBALS
把我们自己定义的所有全局变量存储到该数组中,变量名就是该数组的下标(键名),变量值就是对应的值。
常量
第一种第一方式
define(name,value)
第二种定义方式
// 只能在代码的最顶层定义,不能在函数或if语句中定义
const name = value;
使用常量
<?php
const C1 = "aaa";
const C2 = "bbb";
for($i = 1; $i <= 2; $i ++) {
echo constant("C".$i)."<br/>";
}
?>
defined()
判断常亮是否存在
魔术常量
魔术常量其实是一种值会随着一定的条件(环境)而变化的常量,形式和使用上是常量,但实际上,其值会改变。
__DIR__// 当前网页文件的所在目录
__FILE__// 当前网页文件
__LINE__// 当前这一行
网友评论