Lucky: Variable vervielfältigen

Hi,

ich steige seit kurzem von Perl auf PHP um. Hmm..bis jetzt ist ja alles ganz nett, aber jetzt bin ich an einem wohl ganz einfachen Ding hängen geblieben und ich komm einfach nimmer weiter.

Bei Perl kann ich den Inhalt einer Variable ganz einfach verfielfältigen, in dem ich einfach ein x nn dahinter hänge.

$var = "<img bla...>" x 5;

Gibts sowas in PHP auch?? Oder wie kann ich das in PHP einfach lösen, ohne das ich gross ne Schleife einbau.

Oder muss ich mir dafür vielleicht ne funktion basteln??

Vielen Dank im Vorraus.. vielleicht kann mir ja wer dabei helfen.

Lucky

  1. Hallo Freunde des gehobenen Forumsgenusses,

    $var = "<img bla...>" x 5;

    Gibts sowas in PHP auch?? Oder wie kann ich das in PHP einfach lösen, ohne das ich gross ne Schleife einbau.

    Du suchst das Handbuch.

    Gruß
    Alexander Brock

    --
    A
    1. Hallo Alexander,

      vielen Dank.

      str_repeat("blah", 8)

      Na super...genau das hab ich jetzt drei Stunden gesucht.

      Vielen Dank nochma...

      Lucky

      1. Hi,

        Hallo Alexander,

        vielen Dank.

        str_repeat("blah", 8)

        Na super...genau das hab ich jetzt drei Stunden gesucht.

        angenommen, du wüsstest nicht, dass es die Funktion gibt, wieso brauchst du drei Stunden, um dir

          
        function repeat($input,$n)  
        {  
            $text = "";  
            for($i=0;$i<$n;$i++) $text .= $input;  
            return($text);  
        }  
        
        

        zu schreiben?

        Schöne Grüße
        Julian

        --
        "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rich Cook
        http://derjulian.net
        1. echo $begrüßung;

          Eine kleine Anmerkung:

          return($text);

          return ist keine Funktion. Eine Klammerung des Rückgabewertes erzeugt unnötigerweise einen Ausdruck. Die Klammern wirken an der Stelle beispielsweise wie in einer Formel: $a = $b * ($c + $d);

          In manchen Fällen ist das Klammern sogar kontraproduktiv. Beispielsweise wenn eine Referenz zurückgegeben werden soll.

          function &foo() {
            $bar = 42;
            return $bar;
          }

          So wird eine Referenz auf $bar zurückgegeben. Klammert man $bar im return-Statement müsste stattdessen eine Referenz auf einen Ausdruck zurückgegeben werden. Das wird seit PHP 4.4.0 und (wenn ich das recht in Erinnerung habe) 5.0.4 mit einer Notice geahndet.

          echo "$verabschiedung $name";

          1. Hi,

            Eine kleine Anmerkung:

            return($text);

            return ist keine Funktion. Eine Klammerung des Rückgabewertes erzeugt unnötigerweise einen Ausdruck. Die Klammern wirken an der Stelle beispielsweise wie in einer Formel: $a = $b * ($c + $d);

            ich wusste das nicht und du hast wohl Recht. Trotzdem werde ich Klammern, solange es nicht schadet. Ich klammere auch bei echo. Ich finde es furchtbar inkonsequent, dass bei echo und return normalerweise keine Klammern gesetzt werden.

            Schöne Grüße
            Julian

            --
            "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rich Cook
            http://derjulian.net
            1. Hallo,

              Trotzdem werde ich Klammern, solange es nicht schadet. Ich klammere auch bei echo. Ich finde es furchtbar inkonsequent, dass bei echo und return normalerweise keine Klammern gesetzt werden.

              Ja, das sehe ich auch so. Zumal return ein Sprachkonstrukt ist, das ich mit while oder if in einer Liga sehe, deren Argumente ja ebenfalls geklammert werden _müssen_. Der Ordnung halber gehört das bei return IMHO auch gemacht.
              Ebenso verwende ich den Pseudo-Operator typeof _immer_ mit geklammertem Argument, da er im Sinne einer Funktion benutzt wird und deshalb auch so behandelt werden sollte.
              Oft wird der Code dadurch auch übersichtlicher, also leichter zu lesen.

              So long,

              Martin

              --
              Was macht ein Offizier, der in der Nase bohrt?
              Er holt das Letzte aus sich heraus.
            2. echo $begrüßung;

              return ist keine Funktion. Eine Klammerung des Rückgabewertes erzeugt unnötigerweise einen Ausdruck. Die Klammern wirken an der Stelle beispielsweise wie in einer Formel: $a = $b * ($c + $d);

              ich wusste das nicht und du hast wohl Recht. Trotzdem werde ich Klammern, solange es nicht schadet. Ich klammere auch bei echo. Ich finde es furchtbar inkonsequent, dass bei echo und return normalerweise keine Klammern gesetzt werden.

              Nach den Parametern von echo, return, include, break (Setzt du da auch Klammern? Wenn nein, warum eigentlich nicht? Ist das nicht inkonsequent?) folgt ja auch ein Semikolon und das Statement ist damit beendet. Nach if, for, while folgt direkt nach der Bedingung bzw. den Schleifenparametern ein in Abhängigkeit auszuführendes Statement, weswegen die Bedingung durch die Klammerung eindeutig von diesem abgegrenzt wird.

              Ich persönlich sehe keinen Grund, der Optik willen technischen Unsinn zu verzapfen.
              Sauber formatierter Code wäre zwar nicht technisch nötig, da dies aber das Lesen und Erfassen des Codes ungemein erleichtert, bin ich stark dafür. Jedoch sollte sich beim Programmieren Konsequenz zuerst an technischen Gesichtspunkten orientieren und danach erst an ästhetischen. Dann kommt man auch nicht in Konflikte, wenn man seine Konsequenz wegen technischer Notwendigkeit vernachlässigen muss.

              echo "$verabschiedung $name";

              P.S. "Mein Programm ist zwar fehlerhaft, aber sieh mal, mein Quelltext ist 1A formatiert." :-)

              1. Hi,

                im Normalfall resultiert die Klammerung bei return und echo in keinen Problemen, somit ist hier die bessere Lesbarkeit und die konsequente Schreibweise vorzuziehen.

                Schöne Grüße
                Julian

                --
                "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rich Cook
                http://derjulian.net