我经常在各种代码段中看到$var->another_var
,$somevar=>yet_another
,甚至$third_var->another=>$fourth_var
。
是否有一些超级惊人的信息图形清楚地解释了各种用法及其含义,特别是在PHP环境中?
(在我的例子中,使用Drupal,它使用很多数组,但可能在许多其他CMS /框架中很有用。)
编辑:此后我被告知了一个包含各种符号和语法的非常有用,百科全书列表的全能页面。但是,我认为其中未涉及的部分是$ var-> element => $ anothervar的混合组合。
答案 0 :(得分:3)
单箭头 - T_OBJECT_OPERATOR
->
这用于访问对象属性以及与该属性关联的值。
$object->property='value'
我有一只狗,他的名字是船长
$dog->name='Captain';
现在我可以访问我的狗的属性。我们设置的属性是名称
$dogName=$dog->name;
echo $dogName;
将输出:Captain
我还可以将其他属性及其相关值添加到我的对象中。
$dog->weight='57lbs';
现在我的对象有两个与之关联的属性,名称和重量。
双箭头 - T_DOUBLE_ARROW
=>
如documentation中所述,数组只是逗号分隔键的映射以及与键关联的值。双箭头本质上是一个赋值运算符,它将值赋给或关联到键。
$array = array("key" => "value");
再次使用狗的例子。
$dog = array("name" => "Captain", "weight" => "57lbs");
我们可以通过相应的键访问我的dog数组中的值。
$fatDog = $dog["weight"];
echo $fatDog;
将输出:57lbs
单箭头和双箭头的组合
$object->property=>$value;
这将对象/属性与键/值组合在一起。如果我们把它分解成它的成分,它可以使事情变得更加清晰。
我们知道$object->property
将产生与该属性相关联的值。让我们首先将它与变量相关联:
$valueAssociatedWithProperty = $object->property;
在原文中使用替换:
$valueAssociatedWithProperty => $value;
我们已经看到它只是数组的键/值之前!让我们将它应用于狗的例子,看看会出现什么:
$dog->name="Captain";
$description="He is crazy";
$array = array($dog->name => $description);
// $array = array("Captain" => "He is crazy");
$whatIsCaptain = $array["Captain"];
echo $whatIsCaptain;
He is crazy
我希望这会有所帮助。
另请查看HERE您可能希望的所有参考资料!
答案 1 :(得分:1)
$var->another_var
是&{34; another_var
"引用的对象的属性$var
。
$somevar=>yet_another
用于数组定义,如下所示:$arr = array($somevar => yet_another)
。它将定义一个关联属性,其键等于变量$somevar
的值,并且值等于常量yet_another
。
$third_var->another=>$fourth_var
可以重写,因此更加清晰:
array( /*key=*/ ($third_var->another) => /*value=*/ $fourth_var )`