PHP函数返回不正确的值

时间:2015-08-02 05:31:21

标签: php

我遇到了一些真正的麻烦,我似乎无法弄明白为什么。请参阅下面的代码。如您所见,我有一个$serverDrives数组设置为'C'和'F'。我有一个循环来从类(Drive)创建一个新的Object但是当我在drivesArray上使用GetDriveLetter时,无论我使用什么索引,它总是返回F.我已经在for循环中检查了它有C和F,但无论我做什么我都不能让它返回除F之外的任何东西。

$serverDrives = ['C', 'F'];

$drivesArray = [];
for($i = 0; $i < count($serverDrives); $i++) {
    $drivesArray[$i] = new Drive($serverDrives[$i]);
}

echo $drivesArray[0]->GetDriveLetter();

这是Drive.class.php:

<?php
class Drive {
    public $DriveLetter;

    public function Drive($driveletter) {
        global $DriveLetter;
        $DriveLetter = $driveletter;
    }

    public function GetDriveLetter() {
        global $DriveLetter;
        return $DriveLetter;
    }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

将您的班级代码更改为:

class Drive {
    public $DriveLetter;

    public function Drive($driveletter) {
        $this->DriveLetter = $driveletter;
    }

    public function GetDriveLetter() {
        return $this->DriveLetter;
    }
}