【问题标题】:php class scope issue [duplicate]php类范围问题[重复]
【发布时间】:2013-10-30 22:10:45
【问题描述】:

我遇到以下问题: 我正在使用以下代码在 php 中创建可视日历

<?php
class Calendar{

    public $numberOfDays;

    function _construct(){
        $this->$numberOfDays =  cal_days_in_month(CAL_GREGORIAN, date("m"), date("Y"));
    } 

public function drawCalendar(){ 

    echo '<div class="month">';
    for( $i=0; $i< $numberOfDays;$i++){     
        echo '<div class="day"></div>';
    }
    echo '</div>';

   }
}
?>

问题是 $numberOfDays 在 for 循环中不可用?我得到一个未定义的变量:numberOfDays 错误。我做错了什么

【问题讨论】:

  • 一方面,您忘记了_construct() 中的下划线,将其更改为__construct() - Constructs 需要2 个下划线。
  • 我今天学到了“2”件事 ;-) 再次感谢@PeeHaa
  • 我的头像上有一把扫帚是有原因的 ;-)
  • 我完全不能怪你!哈哈好一个@PeeHaa欢呼
  • 谢谢大家,我也忘记了,对于对象引用,您必须只为此使用 $ 而不是要访问的变量(在 C# 之后返回 php 有点困难 :))

标签: php class oop scope


【解决方案1】:

你需要使用:

$this->numberOfDays

$this 是对当前对象实例的引用

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2010-09-13
      • 2015-01-30
      相关资源
      最近更新 更多