PHP变量命名规则和预定义变量及可变变量-PHP板块造梦空间论坛-技术交流-造梦空间论坛

PHP变量命名规则和预定义变量及可变变量

变量命名规则

  1. 变量名称必须以美元符号($)开头,后面紧跟字母或下划线。
  2. 变量名称只能包含字母(a-z、A-Z)、数字(0-9)和下划线(_)。
  3. 变量名称区分大小写,例如 $name 和 $Name 是不同的变量。
  4. 变量名称不能使用PHP的保留关键字(如 ifforecho等)作为变量名。
  5. 变量名称应具有描述性,易于理解和维护。推荐使用驼峰命名法或下划线命名法。
    • 驼峰命名法:首字母小写,后续单词首字母大写,例如 $userName
    • 下划线命名法:单词之间用下划线分隔,全部小写,例如 $user_name

预定义变量

预定义变量是在PHP中提前定义好的变量,系统会自动为我们提供这些变量来存储一些需要用到的数据。

  • $_GET:保存通过GET方式提交的所有表单数据。
    // URL:域名/get.php?name=造梦空间论坛&url=blog.zmkj.website
    echo $_GET['name']; // 输出:造梦空间论坛
    echo $_GET['age']; // 输出:blog.zmkj.website
  • $_POST:保存通过POST方式提交的所有表单数据。
    // HTML 表单:
    <form method="post" action="post.php"><input type="text" name="username"></form>
    // post.php:
    echo $_POST['username']; // 输出表单中输入的用户名
  • $_REQUEST:保存通过GET或POST方式提交的所有表单数据。
    // URL:域名/get.php?name=造梦空间论坛
    echo $_REQUEST['name']; // 输出:造梦空间论坛
    echo $_REQUEST['url']; // 如果没有通过 POST 方式提交 url参数,则输出为空
  • $GLOBALS:包含了当前脚本中的所有全局变量,可以在函数内部访问和修改全局变量的值。
    $x = 10;
    $y = 5;
    
    function sum() {
        global $x, $y;
        $GLOBALS['z'] = $x + $y;
    }
    
    sum();
    echo $z; // 输出:15
  • $_SERVER:保存了与当前请求相关的服务器和执行环境的信息,如请求的URL、请求方法、服务器IP等。
    echo $_SERVER['HTTP_HOST']; // 输出当前请求的主机名(例如:blog.zmkj.website)
    echo $_SERVER['REQUEST_METHOD']; // 输出当前请求的方法(例如:GET、POST)
    echo $_SERVER['REMOTE_ADDR']; // 输出当前客户端的IP地址
  • $_SESSION:保存了当前会话中存储的所有session变量的值。
  • $_COOKIE:保存了通过HTTP Cookies传递到当前脚本的所有cookie值。
  • $_ENV:保存了当前脚本可用的所有环境变量的值。
  • $_FILES:保存了用户通过文件上传机制传递到当前脚本的所有上传文件的信息。
    // HTML 表单:
    <form method="post" action="process.php" enctype="multipart/form-data"><input type="file" name="image"></form>
    
    // process.php:
    $file = $_FILES['image'];
    echo $file['name']; // 输出上传文件的名称
    echo $file['type']; // 输出上传文件的类型

可变变量

通过在一个变量名前加上另一个变量作为它的名称,可以实现可变变量。要创建一个可变变量,需要使用两个美元符号($$)来表示。第一个美元符号表示这是一个可变变量,第二个美元符号后面是用于命名变量的变量名。

$a = 'b';
$b = 'abc';

echo $$a;//输出abc
  1. 找到$a然后解析结果为b
  2. 将$和$a的解析结果b绑定,$+$a=$+b=$b
  3. 解析$b
请登录后发表评论

    没有回复内容

© 造梦空间论坛