Einsteigerfragen zu Arrays und Ifelse bzw. Switch

  • Einsteigerfragen zu Arrays und Ifelse bzw. Switch

    Hallo Leute,

    wie der ein oder andere eventuell gelesen hat, steige ich zur Zeit per Video2Brain Tutorial (PHP 5.4) und Bücher (PHP 5.3) in PHP ein.
    Im Zuge des Video2Brain Tutorial sind mir mal ein paar kleinere Fragen gekommen, die ich euch mal stellen wollte.

    1) Im Tutorial arbeitet man ganz normal mit " if (Bedingung, z.B. 3>1)", was ich auch verstehe. Der Trainer sprach dann aber auch ganz kurz was an, wenn in den Klammern nach if eben keine Bedingung, sondern eine Zahl steht. Zum Beispiel if (2). Dann kam etwas mit false bzw. true. False und true sagen mir natürlich was, ich verstehe allerdings den Zusammenhang hierbei nicht. Kann mir das jemand erläutern? Warum sollte ich dort eine Zahl einsetzen? Wann ist dann etwas False bzw. True?

    2) Es gibt ja die Möglichkeit etwas über If-Else und Switch zu prüfen. Ist es egal auf was ich zurückgreife, oder sind beide "Versionen" für unterschiedliche Nutzen eher einzusetzen? Wenn es nämlich egal ist, greife ich wohl eher zu switch :D

    3) Kurze Ergänzung und Fragen zu den Schleifen: Spielt es eine Rolle ob ich eine Do (bzw. Do-While) Schleife oder eine For-Schleife nutze? Oder ist das an sich irrelevant und ich kann mit beiden arbeiten?

    4) Wenn ich in beispielsweise a.php eine Funktion habe und die php datei über include in b.php einbinde. Kann ich die Funktion aus a.php dann in b.php nutzen? :o

    Danke im Vorraus und lieben Gruß,
    Nasri

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Nasri ()

  • 1.)
    Alles was nicht direkt ein Boolscher Ausdruck bzw. alles was nicht 0 (false) ist wird als true angesehen (>0).

    Quellcode

    1. $i = 4;
    2. if ($i) // -> if 4 -> true, if wird ausgeführt
    3. ...
    4. $i = 0
    5. if ($i) // -> if 0 -> false, if wird nciht ausgeführt


    2.)
    Es kommt auf die Situation drauf an. if wird oft bei Zweiwegverzweigungen verwenden. Eben entweder oder.
    Und switch wird meistens bei Mehrwegverzweigungen verwendet.

    3.)
    Hier wieder, es kommt auf die Situation an. Im Prinzip kann man viele Aufgaben mit beiden Varianten lösen.

    4.)
    Ja ab dem Zeitpunkt, ab dem du die Datei mit der Funktion definierst kannst du auch dessen Inhalt nutzen.

    Mfg Rushh0ur
  • Hey,

    mir ist mal gerade eine Frage zu isset gekommen und die will ich nun hier loswerden.
    Bis lang schreibt man normal if (isset (variabel)= {Befehl} und so weiter, das verstehe ich.

    Nun bin ich beim Thema Buchstaben damit zu zählen.
    Dort wird nun if (!isset($variabel [0]) {BEfehl} verwendet.
    Warum kommt dort nun ein ! davor?

    EDIT: Noch eine kleine Frage zu trim, wenn dieser Befehl bestimmte Zeichen nutzen will.
    Ich habe folgenden code:


    Quellcode

    1. $name = "Pa's'c..al";
    2. trim ($name, " ' . ");
    3. echo "$name";


    In der Ausgabe erscheint trotzdem der gewohnte Name, als hätte trim die Zeichen ' und . nicht entfernt.
    Was mache ich falsch?

    // edit by vince - bitte highlighter nutzen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Nasri ()

  • das ! negiert das ganze. also Wenn "Not isset(" dann ....


    Zu trim: Man sagt:
    trim — Entfernt Whitespaces (oder andere Zeichen) am Anfang und Ende eines Strings
    Bei dir existiert keins der besagten Zeichen am Anfang oder Ende!

    Für dein Vorhaben solltest du dir str_replace angucken.


    ps.
    Variablen schreibt man nicht in Strings.

    Quellcode

    1. echo "$name"; // NOGO
    2. echo "$name BLAAA"; // NOGO
    3. echo $name; // RIGHT
    4. echo $name . " BLAA"; // RIGHT