Portal > Foren > PHP > PHP-Programmierung > switch anweisung
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 26.04.2007, 14:28 Nach oben    #1
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard switch anweisung

hiho
ich habe mal ein paar fragen
und zwar bei einer switch abfrage, darf man da "alles" machen, oder gibts einschränkungen was ausgeführt wird und was nciht
und
wenn ich jetzt folgenden code habe
PHP-Code:
switch($foo) {
case 
"1":
echo 
"test";
echo 
"foo";
echo 
"bar";
break

(ist sinnlos aber egal!)
wird da jetzt alles ausgegeben
ich weiß ich könnte das jetzt testen, darum gehts allerdings nicht
ich habe mir eine klasse geschrieben bei der ich eine Variable auf ihren inhalt per switch prüfe und dann verschiedene sachen zuweise
PHP-Code:
function Kosten ()
    {    
    if (!empty(
$this->_gebaude))
    {
        switch(
$this->_gebaude)
        {
        case 
"Eisenmine":
            
//Grundpreis der Mine
            
$grund_eisen 100;
            
$grund_xeronium 50;
            
$grund_energie 1;
            
            
//Preis ist == Grundpreis (plus) 50 (mal) 2(hoch) Stufe
                
$eisen $grund_eisen 50*(pow(2$this->_level));  //eisen errechnen!
                
$this->_eisen $eisen;
                
                
$xeronium $grund_xeronium 50*(pow(2$this->_level));
                
$this->_xeronium $xeronium;
                
                
$energie $grund_energie *$this->_level;
                
$this->_energie $energie;
                return 
$kosten = array($eisen$xeronium $energie);
                
            break;
}
}
}
//ist nur ein auszug 
Die variable ist mit dem richtigen inhalt gefüllt das weiß ich
aber er gibt mir diesen array nicht zurück
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.04.2007, 14:35 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

mach doch einfach mal ein default: dazu.
Dann siehst du ja, welcher switch-Teil ausgeführt wird.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.04.2007, 15:19 Nach oben    #3
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Debuggen. Lass dir das Array mal im switch-Zweig ausgeben und überprüfe innerhalb der Funktion, ob wirklich der richtige Zweig ausgeführt wird.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.04.2007, 15:24 Nach oben    #4
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

mhmm ok dann werd ich das mal probieren
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 12:45 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Hast du den Fehler entdeckt?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 16:07 Nach oben    #6
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

ja hab den fehler....
es war wieder mal das simpelste worauf ich nicht geachtet habe
ich hatte ja die case:Eisenmine <- also Großgeschrieben
aber im übergeben wert wars klein
aber jetzt gehts
ich hab mich schon gewundert
war nämlich das erste mal das ich mir ne eigene klasse geschrieben habe
und da hab ich eher an meinen OOP fähigkeiten gezweifelt
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 16:08 Nach oben    #7
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Du kannst auch den übergebenen Wert mit strtolower() bearbeiten und dann eben immer mit einem komplett kleingeschriebenen String vergleichen. Falls Werte aus dem URL kommen bzw. generell Nutzereingaben sind, ist das manchmal sehr hilfreich.

Grüße, Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 16:15 Nach oben    #8
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

das heist der string wird kleingeschireben?
das wär natürlich ne möglichkeit!
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 16:39 Nach oben    #9
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Na, also in der Variablen ist er immer noch so, wie er vorher war, aber ich mach am besten ein Beispiel.

PHP-Code:
$var 'HaLLo';


switch(
strtolower($var) {
    case 
'hallo'
        echo 
'test test';
        break;

    default:
        echo 
'default';

Mach mal ..
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 16:49 Nach oben    #10
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

ok thx
jetzt hab ich noch ne frage
und zwar hab ich gelesen das es jetzt die "Operatoren"
private, protected, public seit PHP5 gibt
aber alle Tutorials die ich gesehen habe sind wahrschienlich in PHP4 da wird leider nicht erklärt wie das funzt
kennt jmd ein tutorial dazu
ahnlich wie http://tut.php-q.net/ ??
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 16:57 Nach oben    #11
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Das nächste Mal bitte einen separaten Thread aufmachen, da diese Beiträge sonst für andere Mitglieder oder Gäste, die nach einer ähnlichen Sache suchen, die Suche erschwert wird.
Danke.

http://de.php.net/manual/de/language...visibility.php
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 16:58 Nach oben    #12
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 244
Standard

public, private und protected sind Sichtbarkeiten in den OOP.

http://www.professionelle-softwareen...erste_auflage/
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 17:03 Nach oben    #13
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Nochmal kurz.
Fragen zu diesem Thema bitte in einem separaten Thread.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 19:38 Nach oben    #14
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Also wir haben hier im Forum ein kleines Tutorial zur objektorientierten Programmierung:
[PHP] OOP - eine Einführung

Ansonsten kann ich dir das gesamte Forum mal ans Herz legen ...
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.04.2007, 19:53 Nach oben    #15
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

soweit war ich auch schon, nur wie gesagt...da wird protected etc nich erklärt..das war das einzige "doofe" daran ansonsten ein wunderbares tutorial!
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
css link anweisung doppelt DasMööp HTML, XML und CSS 3 23.03.2007 21:24
Internet langsam - Switch Schuld? Eddie Plauderecke 12 29.01.2007 15:59
Variable in SQL anweisung kampfgnom Datenbanken 3 16.01.2007 16:39
Probleme mit Variable in SQL Anweisung Doggi Datenbanken 10 15.12.2005 14:04
ist hieran was falsch ? UPDATE Anweisung pro_evo Datenbanken 9 18.05.2005 16:18


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45