Dies ist mein erster richtiger Ausflug in PHP und ich habe Mühe zu verstehen, warum eine Fehlermeldung erscheint. Ich habe eine Funktion definiert und mir wird gesagt, dass ich das nicht getan habe."Fataler Fehler: Aufruf zu undefinierter Funktion", obwohl die Funktion eindeutig definiert ist
Ich habe versucht, den Namen der Funktion zu ändern und die Reihenfolge der Funktionen in der Klasse erscheinen (die ich wusste, würde keinen Unterschied machen), aber ich kann nicht denken, etwas anderes könnte ich tun, um dies zu arbeiten. Der Code sieht für mich absolut gut aus, und die Fehlermeldung gibt nicht viel Arbeit.
<?php
class PinNumberGenerator {
private $pins;
private $disallowedPins = array(0000,1111,2222,3333,4444,5555,6666,7777,8888,9999,1234,5678,2468); // Obvious pins
function __construct($amount) {
$pins = $this->createPinsArray($amount);
}
function generatePin() {
return rand(0,9).rand(0,9).rand(0,9).rand(0,9);
}
private function createPinsArray($amount) {
$currentPin;
$pinsArray = array();
while(count($pinsArray) < $amount) {
$currentPin = generatePin();
if (in_array($currentPin, $disallowedPins)) {
continue;
} else {
$pinsArray[] = $currentPin;
}
}
return $pinsArray;
}
public function getPins() {
foreach($pin as $pins) {
echo $pin . "<br>";
}
}
}
$pins = new PinNumberGenerator(10);
$pins->getPins();
?>
Welche Funktion ist nicht definiert? Das würde helfen zu wissen. –
Wenn PHP Ihnen sagt, dass etwas nicht definiert ist, haben Sie es definitiv nicht definiert. – castis
Es war die generatePin Funktion – LegendEater