大多数情况下,新的 PHP 开发人员会在程序中对 -> 和 => 的使用感到困惑。他们想知道两者之间有什么区别,以及各自在程序中的作用和应用。
在本文中,我将详细解释 -> 和 => 运算符之间的区别,并借助多个代码示例演示它们各自的适用范围。
在我们深入探讨它们的区别和应用之前,让我们首先检查它们的共同点。
他们都是运算符。
运算符是告诉编译器或解释器执行特定操作的符号,例如算术计算、两个值的比较、将值分配给变量/常量或对象的遍历等。
这称为双箭头运算符。它是用于创建关联数组的赋值运算符。
它位于数组键和它的值之间。它为键(左侧引号中的内容)分配右侧内容的值。
句法
"key" => value
例子
"name" => "John"
从上面的示例中,可以为键指定任何名称,但必须用引号括起来(单引号或双引号)。根据其数据类型,右侧的值可能用引号括起来,也可能不括起来。例如,您不必将整数或布尔值括起来,但必须将字符串括起来。
您可以将值直接放入,也可以将其存储在变量或常量中,然后将其分配给键。
键值对用逗号 ( , )相互分隔,但您不要在最后一对之后放置逗号。
示例 1
- $person = array(
- "firstName" => "John",
- "lastName" => "Doe",
- "age" => 28,
- "gender" => "Male",
- "email" => "johndoe@gmail.com",
- "city" => "Germany"
- );
- ?>
示例 2
您还可以使用方括号( [ ] )形成上述数组,如下所示:
- $person = [
- "firstName" => "John",
- "lastName" => "Doe",
- "age" => 28,
- "gender" => "Male",
- "email" => "johndoe@gmail.com",
- "city" => "Germany"
- ];
- ?>
这称为对象运算符,有时也称为单箭头运算符。
它是一种访问运算符,用于在面向对象编程 (OOP) 中访问/调用 PHP 对象中的方法和属性。
例子
- class People {
-
- public $name = 'John Doe';
-
- public function Developer() {
-
- }
-
- }
- $person = new People();
- $person->Developer();
- echo $person->name;
- ?>
上面的例子是 PHP 脚本中的面向对象编程。
我们创建了“人”类的“人”对象。代码的输出将是“John Doe”。
我们已经使用人员对象上的对象运算符访问了公共变量“$name”。
我们还使用对象运算符来访问方法“Developer”。
除了访问类对象之外,我们还可以使用对象运算符 (->) 来访问 JSON 对象的元素,如下例所示:
- $person = '{
- "firstName":"John",
- "lastName": "Doe",
- "age":28,
- "gender":"Male",
- "email":"johndoe@gmail.com",
- "city":"Germany"
- }';
- $data = json_decode($person);
- echo $data->firstName;
- ?>
此代码的输出将是“John”。您可以以同样的方式简单地访问其他元素的值。
=> 和 -> 这两个运算符看起来很相似,但它们的用法完全不同。
=> 被称为双箭头运算符。它是关联数组中使用的赋值运算符,用于在创建数组时将值分配给键值对。它位于键和值之间,并将其右侧(值)的内容分配给其左侧(键)的内容。
-> 称为对象运算符或单箭头运算符。它用于访问类对象的方法和属性。也用于访问 JSON 对象元素。