首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中美元符号是什么意思?

在PHP中美元符号是什么意思?
EN

Stack Overflow用户
提问于 2011-09-23 19:03:54
回答 7查看 20.9K关注 0票数 19

在PHP中美元符号是什么意思?我有这样的代码:

代码语言:javascript
复制
<?php
  class Building {
    public $number_of_floors = 5;
    private $color;

    public function __construct($paint) {
      $this->color = $paint;
    }

    public function describe() {
      printf('This building has %d floors. It is %s in color.', 
        $this->number_of_floors, 
        $this->color
      );
    }
  }

  $bldgA = new Building('red');

  $bldgA->describe();
?>

$似乎指示了一个变量,如:

代码语言:javascript
复制
$number_of_floors
$color

但当我看到以下内容时,我会感到困惑:

代码语言:javascript
复制
$bldgA->describe();
$bldgA->number_of_floors;

为什么在这些变量之前没有美元符号?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-09-23 19:12:38

你说得对,$代表变量。但在类实例中,您不再在属性上使用$,因为PHP会解释,这可能会导致错误。例如,如果使用

代码语言:javascript
复制
$bldgA->$number_of_floors;

这不会返回对象的$number_of_floors属性,但PHP将首先查看$number_of_floors的值,例如3,因此前一行将是

代码语言:javascript
复制
$bldgA->3;

这会给你一个错误

票数 24
EN

Stack Overflow用户

发布于 2011-09-23 19:09:26

$是在PHP中引用变量的方式。PHP中的变量是动态类型的,这意味着它们的类型由分配给它们的内容决定。这是PHP手册中关于的页面。

$a =“这是一个字符串”;

$b = 1;//这是一个整型

$bldgA = new Building('red');// bldgA是一个变量,也是Building类的一个对象(也称为实例)。

$bldgA->describe();//这调用describe(),它是类构建的成员函数(请记住,$bldgA被声明为类构建的对象)

$bldgA-> number_ of _floors;// number_of_floors是构建类的数据成员。您可以将其视为类中的一个变量,但由于它是具有固定名称的类的一部分,因此不能用$引用它。

票数 4
EN

Stack Overflow用户

发布于 2011-09-23 19:10:41

代码语言:javascript
复制
$bldgA = new Building('red');

在本例中,$bldgA是一个对象。

代码语言:javascript
复制
$bldgA->describe();

从对象$bldgA调用函数describe()

代码语言:javascript
复制
$bldgA->number_of_floors;

从对象$bldgA访问变量number_of_floors

但是你真的应该看看php.net/manual/en/language.oop5.basic.php

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7527999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档