Lars: Integer-Wert in Array zerlegen?

Hallo ihr,

ich würde gerne eine Zahl (int) in ein Array zerlegen, so dass jedes Element eine Ziffer beinhaltet.

Also die 1000 dann:

[0] => 1
[1] => 0
[2] => 0
[3] => 0

Die split()-Funktion erfordert ja einen Ausdruck, anhand dessen der Wert gesplittet wird. Die mache ich das am besten?

Meine Idee wäre gewesen mit modulo zu arbeiten... die Zahl immer durch 10 teilen, und den Rest dann in ein Array speichern.

Gehts auch eleganter?

Grüße
Lars

  1. Hello,

    Also die 1000 dann:

    [0] => 1
    [1] => 0
    [2] => 0
    [3] => 0

    Du machst zuerst einen String daraus, da es sonst ja keine Digits gäbe. Das nimmt PHP Dir schon fast automatisch ab:

    $str = '';
      $str .= $zahl;

    nun kannst Du jedes Character des Strings einzeln anfassen:

    $s1 = $str[0];
      $s2 = $str[1];
      $s3 = $str[2];

    und so weiter. Der Index im String muss dazu natürlich existieren.

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hello,

      nun kannst Du jedes Character des Strings einzeln anfassen:

      $s1 = $str[0];
        $s2 = $str[1];
        $s3 = $str[2];

      und so weiter. Der Index im String muss dazu natürlich existieren.

      seit PHP5 gibt es auch eine neue Funktion, die dir selbsttätig ein Array aus dem String macht:

      http://de3.php.net/manual/en/function.str-split.php

      Ein harzliches Glückauf

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
  2. Hallo ihr,

    ja, hier,

    ich würde gerne eine Zahl (int) in ein Array zerlegen, so dass jedes Element eine Ziffer beinhaltet.

    Also die 1000 dann:

    [0] => 1
    [1] => 0
    [2] => 0
    [3] => 0

    Die split()-Funktion erfordert ja einen Ausdruck, anhand dessen der Wert gesplittet wird. Die mache ich das am besten?

    der Ausdruck lautet: '' oder // und auch damit wurde schon mit Erfolg gesplittet.

    Oder mach eine RegExpr nach (\d)(\d)(\d)(\d)
                                  1   0   0   0
    Ergebnis der Klammern in     $1  $2  $3  $4

    Hotte