• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wo liegt der Fehler - switch case

Djdomrep

Mitglied
Ich versteh die Welt nichtmehr..
ich lese mit ner funktion ne spalte aus einer datenbank aus mit dem wert: 1
mit
PHP:
print_r(funktionsname());
gibt er mir auch 1 aus.
allerdings gibt er mir von case 0 die PlayerClass aus und von case 1 den textdraw.
weis jemand vielleicht weiter?


PHP:
switch (Database::GangId($username)){
        case 0:
            $classes = require PHP_DIR."djdomrep/classes/zivilist.php";
            TextDraw::named("zivilist")->showForPlayer($player);
            Server::addPlayerClass(115, 0, 0, 0, 0, 0, 0, 0, 0, 0);
            Server::addPlayerClass(116, 0, 0, 0, 0, 0, 0, 0, 0, 0);
            Server::addPlayerClass(117, 0, 0, 0, 0, 0, 0, 0, 0, 0);
            break;
        case 1:
            $classes = require PHP_DIR."djdomrep/classes/trinitarios.php";
            TextDraw::named("trinitarios")->showForPlayer($player);
            Server::addPlayerClass(118, 0, 0, 0, 0, 0, 0, 0, 0, 0);
            Server::addPlayerClass(119, 0, 0, 0, 0, 0, 0, 0, 0, 0);
            Server::addPlayerClass(120, 0, 0, 0, 0, 0, 0, 0, 0, 0);
            break;
}
 
Werbung:
Und da kommt auch 1 raus?

PHP:
print_r(Database::GangId($username));
switch (Database::GangId($username)){
...
 
Werbung:
Ist der Wert ein String oder ein Integer-Wert?
Danke das war das Problem.:)
In der Datenbank ist der Wert zwar Integer aber die Funktion gibt den Wert als String zurück.
Habe nun ein weiteres Problem, wenn ich bei case String verwende funktioniert es, jedoch nicht wenn ich im switch intval verwende.

PHP:
switch (intval(Database::GangId($username))){
Funktioniert jetzt aber mit
PHP:
case "1":

EDIT:

Funktioniert mit (int)
PHP:
switch((int)Database::GangId($username)){
 
Zuletzt bearbeitet:
Zurück
Oben