PHP基础语法:从变量到常量

好的,系好安全带,各位编程界的未来之星们!今天老衲要带大家穿越PHP的奇妙丛林,从“变量”这个活泼的小猴子,一路寻到“常量”这座稳固的石山。准备好了吗?让我们开始这场PHP探险之旅!🚀

第一站:变量,PHP世界的百变星君

想象一下,你正在玩一场角色扮演游戏,而“变量”就是你手中的魔法口袋。你可以随时往里面装东西,也可以随时拿出来用。而且,这个口袋还能根据装的东西自动改变大小和形状!这就是变量的魅力所在。

1. 什么是变量?

简单来说,变量就是用来存储数据的容器。这个容器可以存储各种类型的数据,比如数字、文本、甚至是图片和视频的链接。更重要的是,变量的值是可以改变的,就像变形金刚一样,随时切换形态。

2. 如何声明一个变量?

在PHP中,声明变量很简单,只需要在变量名前面加上一个美元符号 $ 即可。就像给变量贴上一个标签,告诉PHP:“嘿,这家伙是个变量!”

<?php
  $name = "张三";  // 声明一个名为 $name 的变量,存储字符串 "张三"
  $age = 25;    // 声明一个名为 $age 的变量,存储整数 25
  $price = 19.99; // 声明一个名为 $price 的变量,存储浮点数 19.99
?>

看到了吗?简单粗暴,直接赋值!这就是PHP的风格,效率至上!😎

3. 变量的命名规则:起个好名字很重要!

给变量起名字可不是随便来的,要遵循一定的规则,不然PHP会给你脸色看!

  • 必须以美元符号 $ 开头。 这是变量的身份证,没它不行!
  • 后面可以跟字母、数字或下划线 _ 想象一下,你的变量名就像一个密码,可以包含各种字符。
  • 不能以数字开头。 这就像给小孩起名叫“1号”,听起来怪怪的。
  • 区分大小写。 $name$Name 是两个不同的变量,就像双胞胎,虽然长得像,但不是同一个人。
  • 尽量使用有意义的名称。 别起一些让人摸不着头脑的名字,比如 $a$b,除非你想让别人抓狂!建议使用英文单词或短语,例如 $userName$productPrice

4. 变量的数据类型:了解你的容器能装什么

PHP是一种弱类型语言,这意味着你不需要显式地声明变量的类型,PHP会根据你赋给它的值自动判断。但这并不意味着你可以胡来,了解变量的类型,能让你更好地驾驭它们。

常见的PHP数据类型:

数据类型 描述 示例
Integer 整数,没有小数点。 $age = 25;
Float 浮点数,带有小数点。 $price = 19.99;
String 字符串,用单引号或双引号括起来的文本。 $name = "张三"; $message = 'Hello, world!';
Boolean 布尔值,只有 truefalse 两个值。 $isLogin = true; $isRegistered = false;
Array 数组,可以存储多个值的集合。 $fruits = array("apple", "banana", "orange");
Object 对象,是类的实例,可以包含属性和方法。 $user = new User();
NULL 空值,表示变量没有值。 $email = NULL;
Resource 资源类型,表示外部资源,如数据库连接、文件句柄等。 $file = fopen("data.txt", "r");

5. 变量的作用域:你的变量能在哪里“浪”?

变量的作用域决定了它在代码中的可见范围。就像一个明星,有的只能在小剧场演出,有的却能登上国际舞台。

  • 局部变量: 在函数内部声明的变量,只能在函数内部使用。就像一个秘密,只能在小圈子里分享。
  • 全局变量: 在函数外部声明的变量,可以在整个脚本中使用。就像一个公开的秘密,谁都可以知道。
  • 静态变量: 在函数内部使用 static 关键字声明的变量,它的值在函数调用结束后仍然保留。就像一个记忆,即使函数结束了,它仍然存在。
<?php
  $globalVar = "全局变量"; // 全局变量

  function myFunction() {
    $localVar = "局部变量"; // 局部变量
    static $staticVar = 0; // 静态变量
    $staticVar++;

    echo $localVar . "<br>"; // 可以访问局部变量
    echo $globalVar . "<br>"; // 可以访问全局变量
    echo $staticVar . "<br>"; // 可以访问静态变量
  }

  myFunction(); // 输出:局部变量 全局变量 1
  myFunction(); // 输出:局部变量 全局变量 2

  // echo $localVar; // 错误!无法访问局部变量
  echo $globalVar; // 可以访问全局变量
?>

第二站:常量,PHP世界的磐石

如果说变量是灵活多变的舞者,那么常量就是坚如磐石的守护者。一旦定义,就无法改变,就像法律一样,具有不可撼动的地位。

1. 什么是常量?

常量是一个用于存储固定值的标识符。这个值在脚本执行期间不能被修改。想象一下,圆周率 π,无论你在哪里使用它,它的值都是 3.1415926…,这就是常量的特性。

2. 如何定义一个常量?

在PHP中,可以使用 define() 函数或 const 关键字来定义常量。

  • 使用 define() 函数:
<?php
  define("PI", 3.1415926); // 定义一个名为 PI 的常量,值为 3.1415926
  echo PI; // 输出:3.1415926
?>
  • 使用 const 关键字: (PHP 5.3.0 以后可用)
<?php
  const GRAVITY = 9.8; // 定义一个名为 GRAVITY 的常量,值为 9.8
  echo GRAVITY; // 输出:9.8
?>

3. 常量的命名规则:庄重而严肃

常量的命名规则和变量类似,但也有一些区别:

  • 通常使用大写字母和下划线 _ 来命名。 这是一种约定俗成的规范,让人一眼就能看出这是个常量。例如 MAX_SIZEDEFAULT_USERNAME
  • 必须以字母或下划线开头。
  • 不能以数字开头。

4. 常量的作用域:无处不在的守护者

常量具有全局作用域,可以在脚本的任何地方访问,包括函数内部。就像阳光一样,照耀着每一个角落。

<?php
  define("GREETING", "Hello, world!");

  function sayHello() {
    echo GREETING; // 可以访问常量
  }

  sayHello(); // 输出:Hello, world!
  echo GREETING; // 也可以访问常量
?>

5. 为什么使用常量?

  • 提高代码的可读性: 使用有意义的常量名,可以使代码更容易理解。
  • 防止意外修改: 常量的值不能被修改,可以避免在代码中出现错误。
  • 方便维护: 如果一个值需要在多个地方使用,可以使用常量来统一管理,修改时只需要修改常量的值即可。

第三站:变量与常量的区别:冰与火之歌

特性 变量 常量
值是否可变 可变 不可变
声明方式 $ 符号开头 define() 函数 或 const 关键字
作用域 局部或全局 全局
命名规范 小写字母开头,可包含字母、数字、下划线 通常使用大写字母和下划线
是否需要定义 必须定义后才能使用 必须定义后才能使用

举个栗子🌰:

假设你正在开发一个电商网站,你需要存储用户的用户名和订单总金额。

  • 用户名: 用户名是会改变的,用户可以修改自己的用户名,所以应该使用变量来存储。
<?php
  $userName = "JohnDoe"; // 初始用户名
  $userName = "JaneDoe"; // 用户修改了用户名
?>
  • 订单总金额: 订单总金额也是会改变的,因为用户可以添加或删除商品,所以也应该使用变量来存储。
<?php
  $orderTotal = 100; // 初始订单总金额
  $orderTotal = 150; // 用户添加了商品
?>

但是,如果你需要存储网站的名称,这个名称在整个网站运行期间都不会改变,那么就应该使用常量来存储。

<?php
  define("SITE_NAME", "My Ecommerce Website");
  echo SITE_NAME; // 输出:My Ecommerce Website
?>

总结:

变量就像水,可以流动、可以改变形状,适用于存储需要频繁修改的数据。常量就像石头,坚固稳定,适用于存储不会改变的数据。选择合适的工具,才能更好地完成任务!

各位PHP探险家们,今天的旅程就到这里了。希望你们已经掌握了变量和常量的奥秘,能够在PHP的世界里自由驰骋,创造出属于你们的辉煌!记住,编程的道路永无止境,保持好奇心,不断学习,你终将成为一名优秀的PHP开发者!💪

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注