PHP从入门到上天

002——入了个门

2017-07-07  本文已影响24人  土乒76

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__// 当前这一行
上一篇 下一篇

猜你喜欢

热点阅读