Я получаю эту ошибкуФатальная ошибка: Не удается использовать [] для чтения
Fatal error: Cannot use [] for reading in... on line 26
Проверка всех потоков, которые были сделаны здесь, на эту ошибку, я до сих пор не могу понять это. Глядя на мой код, я ничего не делаю.
<?php
class Person
{
//Variables for personal information//
private $navn;
private $adresse;
private $postnummer;
private $poststed;
private $telefonnummer;
private $fodselsdato;
public function __construct($navn, $adresse, $postnummer, $poststed, $telefonnummer, $fodselsdato)
{
$this->navn = $navn;
$this->adresse = $adresse;
$this->postnummer = $postnummer;
$this->poststed = $poststed;
$this->telefonnummer = $telefonnummer;
$this->fodselsdato = $fodselsdato;
}
//Creates an array to store education for a person//
private $utdanning = array();
//Function to add education to the array//
public function leggTilUtdanning(Utdanning $utdanning)
{
$this->utdanning[] = $utdanning;
}
}
//Class for education
class Utdanning
{
private $institusjon;
private $studieretning;
private $grad;
private $startet;
private $ferdig;
public function __construct($institusjon, $studieretning, $grad, $startet, $ferdig)
{
$this->institusjon = $institusjon;
$this->studieretning = $studieretning;
$this->grad = $grad;
$this->startet = $startet;
$this->ferdig = $ferdig;
}
}
$person1 = new Person('Dave Lewis', 'Downing Street 14', 0442, 'Northville', 98765432, '17.05.1975');
$utdanning = new Utdanning('Harvard', 'Economics', 'Bachelor', 2013, 2016);
$person1->leggTilUtdanning($utdanning);
?>
ошибка исходит от линии внутри функции, в которой я пытаюсь добавить Utdanning-объект в массиве. Это забавно, потому что я пробовал этот же метод сделать это в другом проекте, используя тот же синтаксис, и он отлично работал. Кроме того, я не понимаю, почему он говорит, что я пытаюсь прочитать из массива, когда я действительно добавляю его.
Есть ли у кого-нибудь идеи, что здесь происходит?
EDIT: Я обвел проблему и сделал более простую версию кода, чтобы вы могли убедиться сами.
@ LeZohan68 Добавить значение массива в свойство '$ utdanning', может быть? – Daan
@ LeZohan68 Это не то же имя переменной. Один из них называется '$ this-> utdanning', другой' $ utdanning'. – deceze
Я в основном пытаюсь добавить объект (они являются тем же самым именем переменной, но все еще остаются), которые используются в качестве параметра функции и добавляют его в частный массив $ utdanning. Я как бы учусь, работая над проектом, поэтому простите меня, если здесь что-то совершенно иррациональное. Я попытался изменить имя параметра без какого-либо решения проблемы. – SudokuNinja