Kieselnator: Einzelne Stellen in Array-Elemente umwandeln

Hello together!

Ich möchte einen String aus drei Ziffern in Array-Elemente umwandeln. So sieht's bei mir momentan aus:

  
  
$i = 428;  
$parts = explode("", $i);  
  
//Daraus wird dann logischerweise:  
  
$zahl1 = $parts[0];  
$zahl2 = $parts[1];  
$zahl3 = $parts[2];  
  

Ich bin momentan ziemlich auf dem Schlauch, denn er sagt mir das "" ein leere Abgrenzer ist - Was der Leerstring ja auch ist.

Wie kann ich das Anders lösen?

Vielen Dank, mfg Kieselnator

  1. Hi,

    Ich möchte einen String aus drei Ziffern in Array-Elemente umwandeln. So sieht's bei mir momentan aus:

    $i = 428;

    $parts = explode("", $i);

    //Daraus wird dann logischerweise:

    $zahl1 = $parts[0];
    $zahl2 = $parts[1];
    $zahl3 = $parts[2];

      
    
    > Wie kann ich das Anders lösen?  
      
    Bspw., in dem du die Zahl in einen String castest, so dass du dann mit den eckigen Klammern ganz einfach auf die einzelnen Zeichenpositionen zugreifen kannst:  
      
    ~~~php
    $i = 428;  
    $iString = (string)$i;  
    echo $iString[0];
    

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Bspw., in dem du die Zahl in einen String castest, so dass du dann mit den eckigen Klammern ganz einfach auf die einzelnen Zeichenpositionen zugreifen kannst:

      Das funktioniert nur solange das einzige Ziel dieser Umwandlung der indizierte Zugriff auf Zeichen ist.
      Wenn irgendwelche Arrayoperationen gemacht werden sollen, z.B. foreach, array_sort etc., schlägt das fehl.

      Als ich das mal gebraucht hab bin ich mit einer Schleife drüber gelaufen und hab die Werte einzeln in ein Array geschrieben.
      Ist aber eine hässliche und unperformante Lösung, aber ich hatte zu dem Zeitpunkt keine Lust und Zeit drüber nachzudenken, außerdem wars was unkritisches was eh wieder in der Tonne gelandet ist.

      --
      for your security, this text has been encrypted by ROT13 twice.
      1. Hi,

        schau mal nach "str_split".
        (Ab PHP 5)

        gruß
        peter

        1. schau mal nach "str_split".
          (Ab PHP 5)

          oder chunk_split

          1. schau mal nach "str_split".
            (Ab PHP 5)

            oder chunk_split

            chunk_split gibt aber einen String zurück und kein Array.

            gruß
            peter

            1. schau mal nach "str_split".
              (Ab PHP 5)

              oder chunk_split

              chunk_split gibt aber einen String zurück und kein Array.

              Ich weiß, so steht es ja in der Dokumentation. Das Ergebnis könnte man aber z.B. mit explode behandeln. Ich persönlich favorisiere hier ohnehin den Direktzugriff.