229

可能重复:
我们在 php 参考中使用对象运算符“->”的地方
- 这个符号在 PHP 中是什么意思?

我一直在 PHP 中看到这些,但我不知道它们的实际含义。做什么->和做=>什么。我不是在谈论运营商。他们是别的东西,但似乎没有人知道......

4

4 回答 4

355

箭头运算符, =>, 用作数组的访问机制。这意味着它左侧的内容将在数组上下文中与右侧的内容具有对应的值。这可用于将任何可接受类型的值设置为数组的相应索引。索引可以是关联的(基于字符串的)或数字的。

$myArray = array(
    0 => 'Big',
    1 => 'Small',
    2 => 'Up',
    3 => 'Down'
);

对象运算符,用于在对象范围内访问对象的->方法和属性。它的意思是说,操作符右边的东西是实例化到操作符左边变量中的对象的成员。实例化是这里的关键术语。

// Create a new instance of MyObject into $obj
$obj = new MyObject();
// Set a property in the $obj object called thisProperty
$obj->thisProperty = 'Fred';
// Call a method of the $obj object named getProperty
$obj->getProperty();
于 2012-12-26T07:27:25.527 回答
65

->用于调用类对象的方法或访问属性

=>用于将值分配给数组的键

例如:

    $ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34, 1=>2); 

并且由于PHP 7.4 + 运算符=>也用于添加的箭头函数匿名函数的语法更加简洁。

于 2012-12-26T07:25:14.760 回答
52

=>用于关联数组键值分配。看一眼:

http://php.net/manual/en/language.types.array.php

->用于访问对象方法或属性。示例:$obj->method()

于 2012-12-26T07:21:43.627 回答
27

->

调用/设置对象变量。前任:

$obj = new StdClass;
$obj->foo = 'bar';
var_dump($obj);

=> 为数组设置键/值对。前任:

$array = array(
    'foo' => 'bar'
);
var_dump($array);
于 2012-12-26T07:24:09.463 回答