Suche Alternative

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Suche Alternative

    Hi,
    Hab mir ne kleine Funktion gebastelt, allerdings
    musste ich da mit globals arbeiten, da sobald
    ich jedesmal "i" erhöhen wollte, (ohne globals),
    er mir entweder gar nix ausgespuckt hat, oder
    nur 1 obwohl es 0 sein sollte, kann ich meine Funktion
    noch etwas besser gestalten? Möchte ungern globals
    verwenden. Sry für die megasimple php Stellung,
    aber irgendwie hab ich da grad ne Denkblockade
    dass ich das ned gelöst bekomm.


    PHP-Code:
    <?php 
    //Hausname auslesen:
    global $i;
    $i 0;

    function 
    bildnr()
    {
        
    $bild_url explode("_",strtolower($_GET['section']));
        
    $url_prefix "./img/haustypen_struktur/" $bild_url[1] . "_";
        
    $url_suffix ".jpg";
        
    $url_complete $url_prefix $GLOBALS['i'] . $url_suffix;
        
    $GLOBALS['i']++;
        
        return 
    $url_complete;   
    }
    ?>
    mfg & danke schon mal, darki

  • #2
    global $i außerhalb der Funktion kannst du dir sparen. Innerhalb wäre es richtig und dann könntest du mit $i arbeiten. Aber wegen der einen Zuweisung mußt du die Variable auch nicht importieren ich verstehe sowieso nicht, was du gegen $GLOBALS hast.

    Kommentar


    • #3
      Wenn ich nun aber innerhalb der Funktion $i=0 zuweise
      dann stellt der mir bei jedem neuen Funktionsaufruf i auf 0,
      ich möchte aber bei jedem neuen Funktionsaufruf, dass
      er weiter zählt, und irgendwo muss ich ja zuweisen,
      sonst heists ja $i=null oder? zumindest spuckt er bei
      mir die erste zahl nicht raus, bis er $i++ macht.

      Oder versteh ich da was falsch? Wäre für jeden Tip dankbar.

      mfg darki

      Kommentar


      • #4
        schau einfach mal im manual nach, in welchem zusammenhang das schlüsselwort "global" richtig verwendet wird.


        aber im großen und ganzen ist der ansatz falsch - wenn du zählen willst, so tue es außerhalb der funktion in einer for-schleife o.ä. und übergebe einen bereits inkrementierten wert von i als parameter.

        PHP-Code:
        function bildnr($i)
        {
           return 
        "bild nr. ".$i;
        }
        $i 0;
        echo 
        bildnr($i++);
        echo 
        bildnr($i++);
        echo 
        bildnr($i++); 
        Zuletzt geändert von penizillin; 09.11.2006, 12:57.

        Kommentar


        • #5
          Achso war das gemeint, würd ich gern, geht aber nicht, da
          ich nen ziemliches schlamasell bei den Quotes hab, gibt es
          sowas ähnliches wie ´` ticks - wie bei Linux - in PHP?

          Es würde bei mir sonst wie folgt ausschauen:
          PHP-Code:
          for($i=0$i<6$i++)
          {
              echo 
          '<area shape="rect" coords="x1,y1,x2,y2" href="javascript:shckbp('bildnr($i)','Haustyp Bild')" alt="bild0">'

          Bei den ganzen "" und '' und dem echo, krieg ich das nicht zusammen,
          da steckt nen fehler drin, daher hab ich das ganze ohne for gemacht.
          Auser mir kann einer sagen wie ich das Quoten kann?

          [EDIT:] Mit
          PHP-Code:
          echo '<area shape="rect" coords="28,2,337,108" href="javascript:shckbp('.bildnr($i).',"Haustyp - Bild")" alt="bild0">'
          gehts auch nicht :/

          mfg darki
          Zuletzt geändert von darki777; 09.11.2006, 13:34.

          Kommentar


          • #6
            Original geschrieben von darki777
            Bei den ganzen "" und '' und dem echo, krieg ich das nicht zusammen,
            da steckt nen fehler drin, daher hab ich das ganze ohne for gemacht.
            Auser mir kann einer sagen wie ich das Quoten kann?
            http://www.php.net/manual/de/language.types.string.php
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              thx, werdich gleich mal durchstöbern.

              mfg darki

              Kommentar

              Lädt...
              X