PHP 运行机制

PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。
基本的 PHP 语法

PHP 脚本可以放在文档中的任何位置。

PHP 文件的默认文件扩展名是 ".php"。

PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。

PHP语法

PHP 脚本以 <?php 开始,以 ?> 结束:

<?php
    // PHP 代码
    ?>
PHP 中的注释

<!DOCTYPE html>
    <html>
    <body>
     
    <?php
    // 这是 PHP 单行注释
     
    /*
    这是
    PHP 多行
    注释
    */
    ?>
     
    </body>
    </html>

PHP 变量

变量是用于存储信息的"容器":

<?php
    $x=5;
    $y=6;
    $z=$x+$y;
    echo $z;
    ?>

与代数类似

x=5
    y=6
    z=x+y

在代数中,我们使用字母(如 x),并给它赋值(如 5)。

从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。

在 PHP 中,这些字母被称为变量。

亦可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。

变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。

PHP 变量规则:

变量以 $ 符号开始,后面跟着变量的名称
        变量名必须以字母或者下划线字符开始
        变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
        变量名不能包含空格
        变量名是区分大小写的($y 和 $Y 是两个不同的变量)

创建(声明)PHP 变量

PHP 没有声明变量的命令。

变量在您第一次赋值给它的时候被创建:

<?php
    $txt="Hello world!";
    $x=5;
    $y=10.5;
    ?>

在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5。

注意:当您赋一个文本值给变量时,请在文本值两侧加上引号。
局部和全局作用域

在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:

<?php
    $x=5; // 全局变量
     
    function myTest()
    {
        $y=10; // 局部变量
        echo "<p>测试函数内变量:<p>";
        echo "变量 x 为: $x";
        echo "<br>";
        echo "变量 y 为: $y";
    }
     
    myTest();
     
    echo "<p>测试函数外变量:<p>";
    echo "变量 x 为: $x";
    echo "<br>";
    echo "变量 y 为: $y";
    ?>

PHP global 关键字

global 关键字用于函数内访问全局变量。

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

<?php
    $x=5;
    $y=10;
     
    function myTest()
    {
        global $x,$y;
        $y=$x+$y;
    }
     
    myTest();
    echo $y; // 输出 15
    ?>

PHP 5 常量

常量值被定义后,在脚本的其他任何地方都不能被改变。
PHP 常量

常量是一个简单值的标识符。该值在脚本中不能改变。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

注意: 常量在整个脚本中都可以使用。
设置 PHP 常量

设置常量,通常使用 define() 函数,该函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

此函数的三个参数:

name:必选参数,常量名称,即标志符。
        value:必选参数,常量的值。
        case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

以下实例我们创建一个 区分大小写的常量, 常量值为 "欢迎访问 Runoob.com":

<?php
    // 区分大小写的常量名
    define("GREETING", "欢迎访问 Runoob.com");
    echo GREETING;    // 输出 "欢迎访问 Runoob.com"
    echo '<br>';
    echo greeting;   // 输出 "greeting",但是有警告信息,表示该常量未定义
    ?>

以下实例我们创建一个 不区分大小写的常量, 常量值为 "欢迎访问 Runoob.com":

<?php
    // 不区分大小写的常量名
    define("GREETING", "欢迎访问 Runoob.com", true);
    echo greeting;  // 输出 "欢迎访问 Runoob.com"
    ?>

常量是全局的

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。

以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。

<?php
    define("GREETING", "欢迎访问 Runoob.com");
     
    function myTest() {
        echo GREETING;
    }
     
    myTest();    // 输出 "欢迎访问 Runoob.com"
    ?>

PHP Cookie

cookie 常用于识别用户。
Cookie 是什么?

cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
如何创建 Cookie?

setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 <html> 标签之前。
语法

setcookie(name, value, expire, path, domain);

实例 1

在下面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "runoob"。我们也规定了此 cookie 在一小时后过期:

<?php
    setcookie("user", "runoob", time()+3600);
    ?>
     
    <html>
    .....

注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码。(为防止 URL 编码,请使用 setrawcookie() 取而代之。)

如何取回 Cookie 的值?

PHP 的 $_COOKIE 变量用于取回 cookie 的值。

在下面的实例中,我们取回了名为 "user" 的 cookie 的值,并把它显示在了页面上:

<?php
    // 输出 cookie 值
    echo $_COOKIE["user"];
     
    // 查看所有 cookie
    print_r($_COOKIE);
    ?>

在下面的实例中,我们使用 isset() 函数来确认是否已设置了 cookie:

<html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
     
    <?php
    if (isset($_COOKIE["user"]))
        echo "欢迎 " . $_COOKIE["user"] . "!<br>";
    else
        echo "普通访客!<br>";
    ?>
     
    </body>
    </html>

如何删除 Cookie?

当删除 cookie 时,您应当使过期日期变更为过去的时间点。

删除的实例:

<?php
    // 设置 cookie 过期时间为过去 1 小时
    setcookie("user", "", time()-3600);
    ?>

如果浏览器不支持 Cookie 该怎么办?

如果您的应用程序需要与不支持 cookie 的浏览器打交道,那么您不得不使用其他的办法在您的应用程序中的页面之间传递信息。一种方式是通过表单传递数据(有关表单和用户输入的内容,在本教程的前面章节中我们已经介绍过了)。

下面的表单在用户单点击 "Submit" 按钮时,向 "welcome.php" 提交了用户输入:

<html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
     
    <form action="welcome.php" method="post">
    名字: <input type="text" name="name">
    年龄: <input type="text" name="age">
    <input type="submit">
    </form>
     
    </body>
    </html>

取回 "welcome.php" 文件中的值,如下所示:

<html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
     
    欢迎 <?php echo $_POST["name"]; ?>.<br>
    你 <?php echo $_POST["age"]; ?> 岁了。
     
    </body>
    </html>

根据软件环境等不同或许会有乱码情况

PHP语法,变量,cookie小结相关推荐

  1. php 可变变量 数组赋值,PHP可变变量学习小结

    可变变量,就是一个变量的变量名可以动态的设置和使用.语法形式是PHP的特殊语法,其他语言中少见,本文给大家分享php可变变量学习小结,对php可变变量相关知识感兴趣的朋友一起学习吧 所谓可变变量,就是 ...

  2. JS-概述-基本语法-变量-数据类型

    概述-基本语法-变量-数据类型 1 JavaScript 概述 ① JavaScript 的特点 JavaScript 是一门动态的,弱类型的,解释型的,基于对象的脚本语言. 动态: 程序执行的时候才 ...

  3. python中的变量的引用_python中的变量引用小结

    python的变量都可以看成是内存中某个对象的引用.(变量指向该内存地址存储的值) 1.python中的可更改对象和不可更改对象 python中的对象可以分为可更改(mutable)对象与不可更改(i ...

  4. Python基础语法——变量

    一.Python 语言特点 1.简单易学:与C和Java比,Python的学习难度更低一点,更适合新手入门. 2.简洁明了.Python的语法非常简洁,代码量少,非常容易编写. 3.Python 是解 ...

  5. javascript基础语法——变量和标识符

    前面的话 关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript的基本特性.实际上,变量是标识符的一种.本文将详细介绍变量和标识符 定义 标识符(Identifie ...

  6. 专科 java转go 翱翔之路(一)基础语法:变量声明,匿名函数,结构体,函数,map

    本人专科!在太原干了一年了,想从java转go,上班中自学go,明年找go语言相关的工作 立帖为证! 待羽翼丰满,大风到来,便是我翱翔之时!!! 1.Go语言 1.命令 1.1 查看版本号 go ve ...

  7. 存储过程语法 - 变量

    语法 存储过程是可以编程的,意味着可以使用变量,表达式,控制结构 , 来完成比较复杂的功能. 变量 DECLARE 通过 DECLARE 可以定义一个局部变量,该变量的作用范围只能在 BEGIN-EN ...

  8. php写入变量cookie,PHP如何用数组变量给setcookie函数赋值?

    setcookie函数是不是只能用字符串进行赋值? 下面的代码中的mycookie方法中的setcookie是不是没有办法用数组来赋值?? date_default_timezone_set('Asi ...

  9. PHP 基本语法,变量

    1.基本语法:使用<?php "运行代码"?> <?php$conn = mysql_connect("localhost","ro ...

最新文章

  1. Java怎么把数组怎么放入set,如何将数组转换为Java中的Set
  2. 创建自己的人脸识别系统
  3. 最简单红米系统一键激活xposed框架教程
  4. 关于linux特殊重定向的理解
  5. 谁说双非本科就一定无缘阿里?H哥粉丝刚刚6面通过,喜得Offer!
  6. java和net共同点,Java和.NET中的垃圾回收机制比较
  7. dos虚拟机如何全屏显示_实用工具 | 虚拟机软件VirtualBox详细使用介绍
  8. html 网页主题设置吗,如何使用css样式对html页面进行背景设置呢?
  9. 吴裕雄 python 机器学习——多项式贝叶斯分类器MultinomialNB模型
  10. CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)
  11. 数据库原理—数据模型(三)
  12. excel计算机财务管理最佳现金余额,计算机财务管理excel选择题
  13. mid、mif文件操作工具类
  14. SketchUp2020下载SketchUp2020下载安装SketchUp草图大师2020下载安装详细教程
  15. 计算机程序设计基础梁建坤,云浮工匠梁建坤:无怨无悔 不忘初心
  16. 一把剪刀完成iphone4剪卡
  17. qq物联网 android sdk,qcloud-iot-sdk-android
  18. openwrt修改默认网关地址_命令下配置ip地址
  19. Blog的浏览量达到1000时将发布“曾经桑海难为水之三”
  20. 怪物之心无法触发_异度之刃2解锁稀有异刃力男支线怪物之心BOSS位置攻略

热门文章

  1. python scrapy框架爬虫_Scrapy爬虫框架教程(一)-- Scrapy入门
  2. 计算机微课应用报告书,【计算机专业论文】计算机专业教学中微课的应用(共4253字)...
  3. java 多模块项目 包路径冲突_多智能体仿真建模在交通中的应用|MATSim入门指南...
  4. 复旦大学把衣服变成了显示器,能聊天能导航,水洗弯折都不怕
  5. 干货总结:SPI总线详细要点
  6. 48岁的C语言,你知道它背后的历史吗?
  7. 是什么故障码_大众途观报P2187、P0101故障,差点就换发动机了
  8. lorawan的工作原理_LoRaWAN协议的工作原理是怎样的
  9. 流量回放开源代码Java_流量回放框架 jvm-sandbox-repeater 的实践
  10. 计算机用并行传输还是串行,网线RJ45是并行传输还是串行