• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Schleifenverschachtelung

Status
Für weitere Antworten geschlossen.

Voodoo

Mitglied
Hallo miteinander,

ich habe gerade ein eher logisches Problem.
Ich hab einen String von x Zeichen.
Angenommen "esselborndoof".
Dieser String soll nun in 2 Teile geteilt werden. Im ersten Teil stehen die Zeichen, die an ungerader Stelle stehen. Im zweiten die Zeichen, die an gerader Stelle stehen.
Nach dem ersten Schritt sähe das also so aus:
eslonof und sebrdo

Nun kommt das eigentlich Problem.
Diese beiden Teile sollen wieder in zwei Teile eingeteilt werden.
Das heißt ich würde nach dem 2. Schritt vier Teilstücke erhalten:
elnf, soo und sbd, ero
Das soll so weitergeführt werden, bis die Teilstücke nicht länger als 2 Zeichen sind.

Das Problem dabei ist, dass ich nicht weiß, wie ich dafür die Schleife schreiben muss, weil ich nicht weiß wie lang der Ausgangs-String ist.

Ich hoffe das war halbwegs verständlich.
Hat jemand einen Tipp für mich?

Gruß
Voodoo
 
Werbung:
um es genauer zu machen :)
PHP:
$string = "esselborndoof";
$str[] = "";
$str[] = "";
for($i=0;$i<strlen($string);$i++) {
  if(($i+2)%2==0) $str[0] .= substr($string,$i,1);
  if(($i+2)%2==1) $str[1] .= substr($string,$i,1);
}
while(true) {
  if(strlen($str[0]) <= 2) break;
  foreach($str as $k=>$v) {
    for($i=0;$i<strlen($v);$i++) {
      if(($i+2)%2==0) $str2[$k] .= substr($str[$k],$i,1);
      if(($i+2)%2==1) $str3[$k] .= substr($str[$k],$i,1);
    }
    unset($str[$k]);
    $str[$k] = $str2[$k];
    $str[] = $str3[$k];
    unset($str2[$k]);
    unset($str3[$k]);
  }
}
echo implode("<br>",$str);

Ich habe es nicht getestet aber so sollte es gehen.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben