Как вернуть значения из ассоциативного массива в классе php - PullRequest
0 голосов
/ 23 мая 2019

Я новичок в PHP, и я только начинаю находить свой путь, но у меня возникают проблемы с получением значений из публичного ассоциативного массива с помощью публичной функции, которая включает в себя цикл foreach(). PHP-код инкапсулируется как класс и внедряется в HTML-файл. Содержание html отображается без проблем, но раздел PHP не возвращает никаких результатов.

Показан код, который я пытался использовать. Я проверил код через несколько php-валидаторов, и синтаксические ошибки не возвращаются, но в коде явно отсутствует что-то, что мешает

<?php
class balances {

    public $custBalances = [
        'Customer 1' => 450,
        'Customer 2' => 900,
        'Customer 3' => 0,
        'Customer 4' => 450
    ];

    public function oustandingBalances() {
        foreach ($custBalances as $key => $value) {
            if ($value == 0)
                continue;
            echo "<p>$key is $value.</P>";
        }
    }
}
?>

PHP должен возвращать результаты для Клиента 1, Клиента 2 и Клиента 4. Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Вам необходимо использовать $this->custBalances в вашей функции "oustandingBalances".

0 голосов
/ 23 мая 2019

Если вы хотите получить доступ к свойствам того же объекта класса внутри функции этого класса / объекта, вы должны использовать $this->propertyName вместо $propertyName. В противном случае вы пытаетесь получить свойство, которое было объявлено внутри функции и не является членом объекта.

<?php
class balances {

    public $custBalances = [
        'Customer 1' => 450,
        'Customer 2' => 900,
        'Customer 3' => 0,
        'Customer 4' => 450
    ];

    public function oustandingBalances() {
        foreach ($this->custBalances as $key => $value) {
            if ($value == 0)
                continue;
            echo "<p>$key is $value.</P>";
        }
    }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...