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