fritz85: Array

Hallo,

habe mir gerade die Tuts der Arrays angeschaut.. komplizierte sache ;)

möchte eigentlich folgendes umsetzen...
habe in einem array (a, b, c) erfasst und in einem anderen array werte (2,4,2)

a = 2, b = 4, c = 2

Nun wenn ein Text eingetippt wird mit "ab c" wie kann ich die arrays durchlaufen lassen und den Text nach diesen Buchstaben durchsuchen und den Wert schlussendlich ausgeben..?

Das kritischi ist ja auch das es Leerzeichen dazwischen haben kann.... :-/
kann da jemand helfen?

gruss
fritz85

  1. Moin,
    hoffe ich hab Deine Frage richtig verstanden.

    <?php
    $eingabeStr = str_replace(' ', '', $_POST['textfeld']);
    $eingabeArray = str_split($eingabeStr);

    $buchstaben = array ('a', 'b', 'c');
    $zahlen = array (1, 2, 3);
    $alphaNum = array();

    for ($i=0; $i<count($buchstaben); $i++) {
      $alphaNum[$buchstaben[$i]] = $zahlen[$i];
    }

    for ($j=0; $j<count($eingabeArray); $j++) {
       echo $eingabeArray[$j].' = '.$alphaNum[$eingabeArray[$j]].'<br>';
    }
    ?>
    <html>
    <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
    <input type="text" id="textfeld" name="textfeld" value="" >
    </form>
    </html>

    Paul

    1. Hallo,
      ist eigentlich genau das was ich suche... Falls ich nun die Summe haben möchte.. gibt es da eine Funktion in PHP? also Summe von der eingabe a=1 und wurde 5x eingegeben also ergebnis = 5;

      <?php
      $eingabeStr = str_replace(' ', '', $_POST['textfeld']);
      $eingabeArray = str_split($eingabeStr);

      $buchstaben = array ('a', 'b', 'c');
      $zahlen = array (1, 2, 3);
      $alphaNum = array();

      for ($i=0; $i<count($buchstaben); $i++) {
        $alphaNum[$buchstaben[$i]] = $zahlen[$i];
      }

      for ($j=0; $j<count($eingabeArray); $j++) {
         echo $eingabeArray[$j].' = '.$alphaNum[$eingabeArray[$j]].'<br>';
      }
      ?>
      <html>
      <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
      <input type="text" id="textfeld" name="textfeld" value="" >
      </form>
      </html>

      1. Hallo Fritz,

        ist eigentlich genau das was ich suche... Falls ich nun die Summe haben möchte.. gibt es da eine Funktion in PHP? also Summe von der eingabe a=1 und wurde 5x eingegeben also ergebnis = 5;

        count_chars() könnte Dir weiterhelfen.

        Noch eine Bitte: Kein TOFU.

        Freundliche Grüße

        Vinzenz

        1. Hallo Vinzenz

          Nicht direkt brauche ja die Summe von den vorgekommenen Buchstabenen und der Wert steht ja auch in einem Array.

          count_chars() könnte Dir weiterhelfen.

          Sorry kommt nicht mehr vor

          Noch eine Bitte: Kein TOFU.

          Gruss
          Fritz

          1. Hier noch der Teil:

            for ($k=0; $k<count($eingabeArray); $k++)
            {
                    //Gesamten Wert zusammen rechnen
             $summe = 0;
             for ($x=0;$x<count($eingabeArray); $x++)
             {
              //Summe berechnen des eingetippten Text in Pixel
              $summe+= $alphaNum[$eingabeArray[$x]];
              if(($alphaNum[$eingabeArray[$x]]) == 200)
              {
               $eingabeStr = $eingabeStr."<br>";
              }
             }
            }

            Nun macht er es ja logischer Weise am Schluss vom Text...? Kann mir jemand Helfen oder einen Tipp geben?

  2. Hi,

    habe in einem array (a, b, c) erfasst und in einem anderen array werte (2,4,2)

    a = 2, b = 4, c = 2

    Sinnvoller Weise wuerdest du gleich die Buchstaben als Schluessel und die Zahlenwerte als Werte eines assoziativen Arrays verwenden.

    MfG ChrisB

  3. Ich habe irgendwo einen Thread "Array" jedoch nicht gerade gefunden... Nun
    ja habe nun Buchstaben erfasst und die Werte hinzugefügt zu jedem einzelnen Buchstaben...

    am schluss bekomme ich eine $summe...

    die kann ja ziemlich hoch sein kommt halt drauf an wieviel buchstaben man eintippt...
    jedoch muss nun folgendes programmieren und steh gerade auf dem schlauch..

    sobald $summe = 200; ist soll er ein <br> hinzufügen.. aber ich kann ja nicht einfach if($summe == 200){echo $text."<br>";} da es auch mal mehr als 200 ist.. wie kann ich das umsetzen kann mir da jemand einen tipp geben?

    2 Arrays

    1 Array = Alle Buchstaben a-z
    2 Array = Werte für a-z z.b. (a=1, b=5)

    Am Schluss wird die summe berechnet.. Falls jemand nun z.B.
    ab eintippt ergibt die Summe = 6.

    Nun sobald die Summe = 200 ist möchte ich an dieser Stelle ein <br> setzen..

    kann jemand helfen?