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__// 當前這一行